consus avatar 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;
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.