summaryrefslogtreecommitdiff
path: root/src/core/device.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-06-05 20:47:26 +0200
committerLennart Poettering <lennart@poettering.net>2018-06-07 15:29:17 +0200
commita7f8be01aa746eca06cea6970fe83bba99ef4a37 (patch)
tree0a1520df80907e699f154c4d023aea0974625cec /src/core/device.c
parentb8b846d7b4c20bd1ac8c72e49e9d134ce8bd5213 (diff)
downloadsystemd-a7f8be01aa746eca06cea6970fe83bba99ef4a37.tar.gz
core: be a bit stricter when validating SYSTEMD_ALIAS udev props
Diffstat (limited to 'src/core/device.c')
-rw-r--r--src/core/device.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/core/device.c b/src/core/device.c
index 0615156820..915991bf90 100644
--- a/src/core/device.c
+++ b/src/core/device.c
@@ -579,10 +579,12 @@ static int device_process_new(Manager *m, struct udev_device *dev) {
if (r < 0)
return log_warning_errno(r, "Failed to add parse SYSTEMD_ALIAS for %s: %m", sysfs);
- if (path_is_absolute(word))
- (void) device_setup_unit(m, dev, word, false);
- else
+ if (!path_is_absolute(word))
log_warning("SYSTEMD_ALIAS for %s is not an absolute path, ignoring: %s", sysfs, word);
+ else if (!path_is_normalized(word))
+ log_warning("SYSTEMD_ALIAS for %s is not a normalized path, ignoring: %s", sysfs, word);
+ else
+ (void) device_setup_unit(m, dev, word, false);
}
return 0;