From: Vinson Lee Date: Sun, 1 Apr 2012 06:11:42 +0000 (-0700) Subject: swrast: Fix memory leaks in blit_linear. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=431b458f24f05db612e276e12528ce0e62707b65;p=mesa.git swrast: Fix memory leaks in blit_linear. Fixes Coverity resource leak defects. NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Vinson Lee Reviewed-by: Brian Paul --- diff --git a/src/mesa/swrast/s_blit.c b/src/mesa/swrast/s_blit.c index 6d0b889c195..b0c56a40fce 100644 --- a/src/mesa/swrast/s_blit.c +++ b/src/mesa/swrast/s_blit.c @@ -566,6 +566,9 @@ blit_linear(struct gl_context *ctx, GL_MAP_READ_BIT | GL_MAP_WRITE_BIT, &srcMap, &srcRowStride); if (!srcMap) { + free(srcBuffer0); + free(srcBuffer1); + free(dstBuffer); _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBlitFramebuffer"); return; } @@ -582,6 +585,9 @@ blit_linear(struct gl_context *ctx, 0, 0, readRb->Width, readRb->Height, GL_MAP_READ_BIT, &srcMap, &srcRowStride); if (!srcMap) { + free(srcBuffer0); + free(srcBuffer1); + free(dstBuffer); _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBlitFramebuffer"); return; } @@ -590,6 +596,9 @@ blit_linear(struct gl_context *ctx, GL_MAP_WRITE_BIT, &dstMap, &dstRowStride); if (!dstMap) { ctx->Driver.UnmapRenderbuffer(ctx, readRb); + free(srcBuffer0); + free(srcBuffer1); + free(dstBuffer); _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBlitFramebuffer"); return; }