uinput: preserve the errno before cleaning up
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 12 Aug 2014 05:41:45 +0000 (15:41 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Thu, 14 Aug 2014 22:37:30 +0000 (08:37 +1000)
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>
libevdev/libevdev-uinput.c

index 4446b45676938a0350598364432ba8c46c9db4b0..c1b20e0dba77ab16bd776430edb029d5f9ea9a3f 100644 (file)
@@ -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