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>
This commit is contained in:
parent
2c6a7fbeb7
commit
9762a9f893
|
@ -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…
Reference in New Issue