From: Václav Pavlín Date: Fri, 21 Sep 2012 10:40:29 +0000 (+0200) Subject: libudev: check return value of rename X-Git-Tag: v192~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=029f4f21fc49389ea2e3168b6f424ee94280680a;p=thirdparty%2Fsystemd.git libudev: check return value of rename --- diff --git a/src/libudev/libudev-device-private.c b/src/libudev/libudev-device-private.c index 00fa3b88908..489bea84808 100644 --- a/src/libudev/libudev-device-private.c +++ b/src/libudev/libudev-device-private.c @@ -101,6 +101,7 @@ int udev_device_update_db(struct udev_device *udev_device) char filename[UTIL_PATH_SIZE]; char filename_tmp[UTIL_PATH_SIZE]; FILE *f; + int r; id = udev_device_get_id_filename(udev_device); if (id == NULL) @@ -161,7 +162,9 @@ int udev_device_update_db(struct udev_device *udev_device) } fclose(f); - rename(filename_tmp, filename); + r = rename(filename_tmp, filename); + if (r < 0) + return -1; udev_dbg(udev, "created %s file '%s' for '%s'\n", has_info ? "db" : "empty", filename, udev_device_get_devpath(udev_device)); return 0;