[Mesa-dev] [PATCH] xlib: fix memory leak on Display close
Alejandro PiƱeiro
apinheiro at igalia.com
Wed Apr 13 07:26:45 UTC 2016
Although this new patch was already reviewed and pushed, just a nitpick:
as this is the second version of your original patch, usually a comment
on the commit summary is added explaining the changes on the new version
of the patch, and a v2 suffix is added when the patch is sent ([PATCH v2]).
On 12/04/16 20:53, John Sheu wrote:
> The XMesaVisual instances freed in the visuals table on display close
> are being freed with a free() call, instead of XMesaDestroyVisual(),
> causing a memory leak.
>
> Signed-off-by: John Sheu <sheu at google.com>
> ---
> src/mesa/drivers/x11/fakeglx.c | 2 +-
> src/mesa/drivers/x11/xm_api.c | 1 +
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/x11/fakeglx.c b/src/mesa/drivers/x11/fakeglx.c
> index 80b71765..2f4d9669 100644
> --- a/src/mesa/drivers/x11/fakeglx.c
> +++ b/src/mesa/drivers/x11/fakeglx.c
> @@ -794,7 +794,7 @@ destroy_visuals_on_display(Display *dpy)
> if (VisualTable[i]->display == dpy) {
> /* remove this visual */
> int j;
> - free(VisualTable[i]);
> + XMesaDestroyVisual(VisualTable[i]);
> for (j = i; j < NumVisuals - 1; j++)
> VisualTable[j] = VisualTable[j + 1];
> NumVisuals--;
> diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c
> index 65e7ca89..82c4d188 100644
> --- a/src/mesa/drivers/x11/xm_api.c
> +++ b/src/mesa/drivers/x11/xm_api.c
> @@ -856,6 +856,7 @@ XMesaVisual XMesaCreateVisual( XMesaDisplay *display,
> accum_red_size, accum_green_size,
> accum_blue_size, accum_alpha_size,
> 0)) {
> + free(v->visinfo);
> free(v);
> return NULL;
> }
More information about the mesa-dev
mailing list