[systemd-commits] src/udev
David Herrmann
dvdhrm at kemper.freedesktop.org
Sun Nov 16 10:57:30 PST 2014
src/udev/collect/collect.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
New commits:
commit c9732bae8f29be644e7b4b1cc4f738ef85477c72
Author: Ronny Chevalier <chevalier.ronny at gmail.com>
Date: Sun Nov 9 15:42:23 2014 +0100
udev: silence TOCTOU warning when creating a directory
CID#979416. There is no real race here to fix, but lets make coverity
happy and rework the code.
Note that we still fail if the directory is removed _after_ we ran
mkdir(), so the same race is still there. Coverity is complaining, though.
Rewrite the code to make it happy.
(David: rewrote the commit-message to note that this is not a race. If I'm
wrong, blame me, not Ronny!)
diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c
index dc849bd..90df360 100644
--- a/src/udev/collect/collect.c
+++ b/src/udev/collect/collect.c
@@ -86,12 +86,12 @@ static void usage(void)
*/
static int prepare(char *dir, char *filename)
{
- struct stat statbuf;
char buf[512];
- int fd;
+ int r, fd;
- if (stat(dir, &statbuf) < 0)
- mkdir(dir, 0700);
+ r = mkdir(dir, 0700);
+ if (r < 0 && errno != EEXIST)
+ return -errno;
snprintf(buf, sizeof(buf), "%s/%s", dir, filename);
More information about the systemd-commits
mailing list