chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5c338de
)
sd-device: set_syspath - return ENODEV when passed something that is not a device
author
Tom Gundersen
<teg@jklm.no>
Tue, 21 Apr 2015 12:41:13 +0000
(14:41 +0200)
committer
Sven Eden
<yamakuzure@gmx.net>
Tue, 14 Mar 2017 07:07:33 +0000
(08:07 +0100)
src/libelogind/sd-device/sd-device.c
patch
|
blob
|
history
diff --git
a/src/libelogind/sd-device/sd-device.c
b/src/libelogind/sd-device/sd-device.c
index 2e30b85ad2549210607b508484bac3112efa6967..7a7b323f3ce61ab4d57668cb454f55a724f504a7 100644
(file)
--- a/
src/libelogind/sd-device/sd-device.c
+++ b/
src/libelogind/sd-device/sd-device.c
@@
-184,15
+184,17
@@
int device_set_syspath(sd_device *device, const char *_syspath, bool verify) {
path = strjoina(syspath, "/uevent");
r = access(path, F_OK);
if (r < 0) {
path = strjoina(syspath, "/uevent");
r = access(path, F_OK);
if (r < 0) {
+ if (errno == ENOENT)
+ /* this is not a valid device */
+ return -ENODEV;
+
log_debug("sd-device: %s does not have an uevent file: %m", syspath);
return -errno;
}
} else {
/* everything else just just needs to be a directory */
log_debug("sd-device: %s does not have an uevent file: %m", syspath);
return -errno;
}
} else {
/* everything else just just needs to be a directory */
- if (!is_dir(syspath, false)) {
- log_debug("sd-device: %s is not a directory", syspath);
- return -EINVAL;
- }
+ if (!is_dir(syspath, false))
+ return -ENODEV;
}
} else {
syspath = strdup(_syspath);
}
} else {
syspath = strdup(_syspath);