diff options
author | Ian Romanick <[email protected]> | 2013-04-10 07:47:08 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2013-04-12 16:24:48 -0700 |
commit | 6e06550e4e0682c616fc0228beee419618421f2c (patch) | |
tree | a9c881c04d01c8e8cb094adcccbe454583f121ab /src/mesa/main/context.c | |
parent | f730c210b89ab8eb2dd5f346a68d06bd05386a37 (diff) |
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 <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/mesa/main/context.c')
-rw-r--r-- | src/mesa/main/context.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 05399342153..939f896b863 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); |