commit 50b8225
Michael Forney
·
2013-11-30 07:37:38 +0000 UTC
parent 28dcc02
shell_surface: Check to make sure resource creation succeeds
1 files changed,
+10,
-1
+10,
-1
1@@ -177,7 +177,7 @@ struct swc_shell_surface * swc_shell_surface_new
2 shell_surface = malloc(sizeof *shell_surface);
3
4 if (!shell_surface)
5- return NULL;
6+ goto error0;
7
8 shell_surface->type = SHELL_SURFACE_TYPE_UNSPECIFIED;
9 swc_window_initialize(&shell_surface->window.base,
10@@ -185,10 +185,19 @@ struct swc_shell_surface * swc_shell_surface_new
11
12 shell_surface->resource = wl_resource_create
13 (client, &wl_shell_surface_interface, 1, id);
14+
15+ if (!shell_surface->resource)
16+ goto error1;
17+
18 wl_resource_set_implementation(shell_surface->resource,
19 &shell_surface_implementation,
20 shell_surface, NULL);
21
22 return shell_surface;
23+
24+ error1:
25+ free(shell_surface);
26+ error0:
27+ return NULL;
28 }
29