summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@googlemail.com>2012-10-11 23:37:44 +0200
committerKristian Høgsberg <krh@bitplanet.net>2012-10-15 16:08:27 -0400
commitc13a65fd202d6e7d22e5ea0e334b50135a1d66a8 (patch)
tree8b787cc9584f7c1343e64f833d58425aa44f1fdf /src
parent0d5850e6d67a09a670625dfb99ec9efefdafb75f (diff)
wayland-util: return 0 on OOM in wl_map_insert_new()
If we cannot increase the array for new entries, we now return 0 instead of accessing invalid memory. krh: Edited to return 0 on failure instead. In the initialization path, we call wl_map_insert_new() to insert NULL at index 0, which also returns 0 but not as an error. Since we do that up front, every other case of returning 0 is an unambiguous error. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Diffstat (limited to 'src')
-rw-r--r--src/wayland-util.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/wayland-util.c b/src/wayland-util.c
index 158f5a5..4ab1f5a 100644
--- a/src/wayland-util.c
+++ b/src/wayland-util.c
@@ -185,6 +185,8 @@ wl_map_insert_new(struct wl_map *map, uint32_t side, void *data)
map->free_list = entry->next;
} else {
entry = wl_array_add(entries, sizeof *entry);
+ if (!entry)
+ return 0;
start = entries->data;
}