From: Václav Pavlín Date: Fri, 21 Sep 2012 10:52:08 +0000 (+0200) Subject: udev: check return value of symlink X-Git-Tag: v192~23 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=6bb2f0a08a321eb165b28de1584884bdfc0c27ee udev: check return value of symlink --- diff --git a/src/udev/udev-watch.c b/src/udev/udev-watch.c index c27a280bd..eebcee655 100644 --- a/src/udev/udev-watch.c +++ b/src/udev/udev-watch.c @@ -98,6 +98,7 @@ void udev_watch_begin(struct udev *udev, struct udev_device *dev) { char filename[UTIL_PATH_SIZE]; int wd; + int r; if (inotify_fd < 0) return; @@ -113,7 +114,9 @@ void udev_watch_begin(struct udev *udev, struct udev_device *dev) snprintf(filename, sizeof(filename), "/run/udev/watch/%d", wd); mkdir_parents(filename, 0755); unlink(filename); - symlink(udev_device_get_id_filename(dev), filename); + r = symlink(udev_device_get_id_filename(dev), filename); + if (r < 0) + log_error("Failed to create symlink: %m"); udev_device_set_watch_handle(dev, wd); }