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: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=029f4f21fc49389ea2e3168b6f424ee94280680a libudev: check return value of rename --- diff --git a/src/libudev/libudev-device-private.c b/src/libudev/libudev-device-private.c index 00fa3b889..489bea848 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;