mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 02:48:06 +02:00
mesa: return NULL if we exceed MaxColorAttachments in get_fb_attachment
This fixes invalid access to Attachment array which would occur if caller would exceed MaxColorAttachments. In practice this should not ever happen because DiscardFramebufferEXT specifies only GL_COLOR_ATTACHMENT0 to be valid and InvalidateFramebuffer will error out before but this should make coverity happy. v2: const, remove _EXT (Ian) CID: 1442559 Fixes:0c42b5f3cb"mesa: wire up InvalidateFramebuffer" Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit9762a9f893)
This commit is contained in:
parent
c7fc61d15b
commit
0a2e4b02ca
1 changed files with 6 additions and 2 deletions
|
|
@ -4663,8 +4663,12 @@ get_fb_attachment(struct gl_context *ctx, struct gl_framebuffer *fb,
|
|||
case GL_COLOR_ATTACHMENT12:
|
||||
case GL_COLOR_ATTACHMENT13:
|
||||
case GL_COLOR_ATTACHMENT14:
|
||||
case GL_COLOR_ATTACHMENT15:
|
||||
return &fb->Attachment[BUFFER_COLOR0 + attachment - GL_COLOR_ATTACHMENT0];
|
||||
case GL_COLOR_ATTACHMENT15: {
|
||||
const unsigned i = attachment - GL_COLOR_ATTACHMENT0;
|
||||
if (i >= ctx->Const.MaxColorAttachments)
|
||||
return NULL;
|
||||
return &fb->Attachment[BUFFER_COLOR0 + i];
|
||||
}
|
||||
case GL_DEPTH:
|
||||
case GL_DEPTH_ATTACHMENT:
|
||||
case GL_DEPTH_STENCIL_ATTACHMENT:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue