mesa: Don't leak shared state when context initialization fails

Back up at line 1017 (not shown in patch), we add a reference to the
shared state.  Several places after that may divert to the error
handler, but, as far as I can tell, nothing ever unreferences the shared
state.

Fixes issue identified by Klocwork analysis:

    Resource acquired to 'shared->TexMutex' at line 1012 may be lost
    here. Also there is one similar error on line 1087.

NOTE: This is a candidate for the stable branches.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Ian Romanick 2013-04-10 07:47:08 -07:00
parent f730c210b8
commit 6e06550e4e

View file

@ -1080,6 +1080,7 @@ _mesa_initialize_context(struct gl_context *ctx,
return GL_TRUE;
fail:
_mesa_reference_shared_state(ctx, &ctx->Shared, NULL);
free(ctx->BeginEnd);
free(ctx->Exec);
free(ctx->Save);