From efa3bd03c57dbfe46b4b821ac84dbae0fc35cdfb Mon Sep 17 00:00:00 2001 From: Neil Roberts Date: Thu, 11 Apr 2013 12:43:53 +0100 Subject: [PATCH] cogland: Don't leak the shell surface struct if requested twice If the shell surface is requested twice then Cogland will hit an error path but it would end up leaking the CoglandShellSurface struct it allocated. Reviewed-by: Robert Bragg (cherry picked from commit 622d41b04c2689a8e4fb6e1769aaf887a04242e8) --- examples/cogland.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/cogland.c b/examples/cogland.c index ca527deda..348001c7e 100644 --- a/examples/cogland.c +++ b/examples/cogland.c @@ -976,7 +976,7 @@ get_shell_surface (struct wl_client *client, struct wl_resource *surface_resource) { CoglandSurface *surface = surface_resource->data; - CoglandShellSurface *shell_surface = g_new0 (CoglandShellSurface, 1); + CoglandShellSurface *shell_surface; if (surface->has_shell_surface) { @@ -986,6 +986,7 @@ get_shell_surface (struct wl_client *client, return; } + shell_surface = g_new0 (CoglandShellSurface, 1); shell_surface->resource.destroy = destroy_shell_surface; shell_surface->resource.object.id = id; shell_surface->resource.object.interface = &wl_shell_surface_interface;