From: Peter Hutterer Date: Tue, 18 Mar 2014 03:55:21 +0000 (+1000) Subject: uinput: check for asprintf failure X-Git-Tag: libevdev-1.0.99.2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f29008b758e82f9ba2d2f9627a680c952d44668b;p=platform%2Fupstream%2Flibevdev.git uinput: check for asprintf failure This doesn't really do much here, but strictly speaking: if asprintf returns -1, devnode is undefined. So reset it to NULL to avoid weird pointers. And also free the rest of the names if we ever have more than one device - which also shouldn't happen. Signed-off-by: Peter Hutterer Reviewed-by: Benjamin Tissoires --- diff --git a/libevdev/libevdev-uinput.c b/libevdev/libevdev-uinput.c index 09b7044..0543bc4 100644 --- a/libevdev/libevdev-uinput.c +++ b/libevdev/libevdev-uinput.c @@ -179,7 +179,8 @@ fetch_device_node(const char *path) /* ndev should only ever be 1 */ for (i = 0; i < ndev; i++) { - asprintf(&devnode, "/dev/input/%s", namelist[i]->d_name); + if (!devnode && asprintf(&devnode, "/dev/input/%s", namelist[i]->d_name) == -1) + devnode = NULL; free(namelist[i]); }