mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 19:58:09 +02:00
mesa/swrast: Move free calls outside the attachment loop
This was originally discovered by Klocwork analysis:
Possible memory leak. Dynamic memory stored in 'srcBuffer0'
allocated through function 'malloc' at line 566 can be lost at line
746
However, I think the problem is actually much worse. Since the memory
is freed after the first pass through the loop, the released buffer may
be used on the next iteration!
NOTE: This is a candidate for stable release branches.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit a27c6e1aea)
This commit is contained in:
parent
4a6a33d398
commit
9ef8b94e22
1 changed files with 5 additions and 4 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue