From 13f4582c761d96d7404ffa2a3b95477bffbedc4a Mon Sep 17 00:00:00 2001 From: Bryce Harrington Date: Tue, 10 Mar 2015 15:07:38 +0900 Subject: [PATCH] wayland: Check for potential OOM from wl_array_add() Summary: wl_array_add() returns NULL if it can't malloc/realloc. This is probably unlikely but check for it and issue a meaningful error if it occurs. Reviewers: cedric, devilhorns, zmike, raster Reviewed By: raster Subscribers: raster, cedric Differential Revision: https://phab.enlightenment.org/D2054 --- src/bin/e_comp_wl.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 8bfdd71..4de11c4 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -815,7 +815,11 @@ _e_comp_wl_cb_key_down(void *event) } cdata->kbd.keys.size = (const char *)end - (const char *)cdata->kbd.keys.data; - k = wl_array_add(&cdata->kbd.keys, sizeof(*k)); + if (!(k = wl_array_add(&cdata->kbd.keys, sizeof(*k)))) + { + DBG("wl_array_add: Out of memory\n"); + return; + } *k = keycode; if ((ec = e_client_focused_get())) -- 2.7.4