From 13f7cd25f34bb6a5950101bb2ca774c037e9a676 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Wed, 10 Apr 2013 07:47:08 -0700 Subject: 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 Reviewed-by: Brian Paul (cherry picked from commit 6e06550e4e0682c616fc0228beee419618421f2c) --- src/mesa/main/context.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/mesa/main') diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index df57b766e01..eb0f422ee31 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -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); -- cgit v1.2.3