Commits

consus committed e105254

libudev: check return value of rename

Comments (0)

Files changed (1)

src/libudev-device-private.c

         char filename[UTIL_PATH_SIZE];
         char filename_tmp[UTIL_PATH_SIZE];
         FILE *f;
+        int err;
 
         id = udev_device_get_id_filename(udev_device);
         if (id == NULL)
         }
 
         fclose(f);
-        rename(filename_tmp, filename);
+        err = rename(filename_tmp, filename);
+        if (err != 0) {
+                err(udev, "rename '%s' '%s' failed: %m\n", filename_tmp, filename);
+                return -1;
+        }
         info(udev, "created %s file '%s' for '%s'\n", has_info ? "db" : "empty",
              filename, udev_device_get_devpath(udev_device));
         return 0;