[Mesa-dev] [PATCH 1/2] mesa: Don't leak shared state when context initialization fails

Ian Romanick idr at freedesktop.org
Wed Apr 10 08:01:26 PDT 2013


From: Ian Romanick <ian.d.romanick at intel.com>

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 at intel.com>
---
 src/mesa/main/context.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 0539934..939f896 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);
-- 
1.8.1.4



More information about the mesa-dev mailing list