summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2014-08-12 15:41:45 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2014-08-15 08:37:30 +1000
commitdebe9b030c8069cdf78307888ef3b65830b25122 (patch)
treee8dd0205caedf3e03acdd114b6ac60d76dc50e1f
parent09529a6a65e5f6eb8f2e10b8da013929c83ad314 (diff)
downloadlibevdev-debe9b030c8069cdf78307888ef3b65830b25122.tar.gz
uinput: preserve the errno before cleaning up
libevdev_uinput_destroy() may/will botch the errno, make sure we save it before use. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--libevdev/libevdev-uinput.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libevdev/libevdev-uinput.c b/libevdev/libevdev-uinput.c
index 4446b45..c1b20e0 100644
--- a/libevdev/libevdev-uinput.c
+++ b/libevdev/libevdev-uinput.c
@@ -344,8 +344,9 @@ libevdev_uinput_create_from_device(const struct libevdev *dev, int fd, struct li
return 0;
error:
+ rc = -errno;
libevdev_uinput_destroy(new_device);
- return -errno;
+ return rc;
}
LIBEVDEV_EXPORT void