chiark / gitweb /
udev: check return value of uname.
[elogind.git] / src / udev / udevd.c
index b30bedfa5c184e9df673ffac53b38f202d3d44bc..42cf994b0d8d7887cf9aafb8316e5d4e00d3db75 100644 (file)
@@ -98,7 +98,7 @@ struct event {
         dev_t devnum;
         int ifindex;
         bool is_block;
-#ifdef ENABLE_FIRMWARE
+#ifdef HAVE_FIRMWARE
         bool nodelay;
 #endif
 };
@@ -444,7 +444,7 @@ static int event_queue_insert(struct udev_device *dev)
         event->devnum = udev_device_get_devnum(dev);
         event->is_block = streq("block", udev_device_get_subsystem(dev));
         event->ifindex = udev_device_get_ifindex(dev);
-#ifdef ENABLE_FIRMWARE
+#ifdef HAVE_FIRMWARE
         if (streq(udev_device_get_subsystem(dev), "firmware"))
                 event->nodelay = true;
 #endif
@@ -527,7 +527,7 @@ static bool is_devpath_busy(struct event *event)
                         return true;
                 }
 
-#ifdef ENABLE_FIRMWARE
+#ifdef HAVE_FIRMWARE
                 /* allow to bypass the dependency tracking */
                 if (event->nodelay)
                         continue;
@@ -819,7 +819,11 @@ static void static_dev_create_from_modules(struct udev *udev)
         char buf[4096];
         FILE *f;
 
-        uname(&kernel);
+        if (uname(&kernel) < 0) {
+                log_error("uname failed: %m");
+                return;
+        }
+
         strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL);
         f = fopen(modules, "re");
         if (f == NULL)