diff --git a/src/mesa/swrast/s_blit.c b/src/mesa/swrast/s_blit.c index 90e86a7e344..8484e558cef 100644 --- a/src/mesa/swrast/s_blit.c +++ b/src/mesa/swrast/s_blit.c @@ -710,16 +710,17 @@ blit_linear(struct gl_context *ctx, } } - free(srcBuffer0); - free(srcBuffer1); - free(dstBuffer); - ctx->Driver.UnmapRenderbuffer(ctx, readRb); if (drawRb != readRb) { ctx->Driver.UnmapRenderbuffer(ctx, drawRb); } } + free(srcBuffer0); + free(srcBuffer1); + free(dstBuffer); + return; + fail_no_memory: free(srcBuffer0); free(srcBuffer1);