From da9d8fa3e46cc035f94be6441452a7738327ecf0 Mon Sep 17 00:00:00 2001 From: Bryce Harrington Date: Fri, 19 Jun 2015 16:12:22 -0700 Subject: [PATCH] clients: Simplify memory allocation with xzalloc() It is redundant to check x*alloc's return value for null pointers, since they are guaranteed to either return non-NULL or terminate the program. In cases where we memset the malloc'd memory to 0, we can more efficiently use the xzalloc() routine. zalloc looks for opportunities to return memory chunks that have already been zero'd out, so it can provide better performance. This patch addresses this warning, reported by Denis Denisov: [clients/window.c:1164] -> [clients/window.c:1166]: (warning) Possible null pointer dereference: surface - otherwise it is redundant to check it against null. [clients/window.c:4513] -> [clients/window.c:4514]: (warning) Possible null pointer dereference: surface - otherwise it is redundant to check it against null. Signed-off-by: Bryce Harrington Reviewed-by: Marek Chalupa --- clients/window.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/clients/window.c b/clients/window.c index ff4be8c8..8e43e181 100644 --- a/clients/window.c +++ b/clients/window.c @@ -1162,12 +1162,7 @@ shm_surface_create(struct display *display, struct wl_surface *wl_surface, struct shm_surface *surface; DBG_OBJ(wl_surface, "\n"); - surface = xmalloc(sizeof *surface); - memset(surface, 0, sizeof *surface); - - if (!surface) - return NULL; - + surface = xzalloc(sizeof *surface); surface->base.prepare = shm_surface_prepare; surface->base.swap = shm_surface_swap; surface->base.acquire = shm_surface_acquire; @@ -4511,11 +4506,7 @@ surface_create(struct window *window) struct display *display = window->display; struct surface *surface; - surface = xmalloc(sizeof *surface); - memset(surface, 0, sizeof *surface); - if (!surface) - return NULL; - + surface = xzalloc(sizeof *surface); surface->window = window; surface->surface = wl_compositor_create_surface(display->compositor); surface->buffer_scale = 1;