libudev: set errno properly in all error conditions of udev_device_new_from_syspath()

(cherry picked from commit 154e6f233a)
This commit is contained in:
Lennart Poettering
2015-01-16 00:56:53 -05:00
committed by Zbigniew Jędrzejewski-Szmek
parent 233fe6f6ae
commit 8a791603cb
+6 -1
View File
@@ -730,8 +730,13 @@ _public_ struct udev_device *udev_device_new_from_syspath(struct udev *udev, con
return NULL;
} else {
/* everything else just needs to be a directory */
if (stat(path, &statbuf) != 0 || !S_ISDIR(statbuf.st_mode))
if (stat(path, &statbuf) != 0)
return NULL;
if (!S_ISDIR(statbuf.st_mode)) {
errno = EISDIR;
return NULL;
}
}
udev_device = udev_device_new(udev);