diff options
author | Felix Fietkau <nbd@openwrt.org> | 2006-10-26 01:32:49 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2006-10-26 01:32:49 +0000 |
commit | 3d497ab62c19ed66b3b69ba7b01d8f7d095c3f83 (patch) | |
tree | eb6fa5a4a3ac2ff4607bddbf16b426b34b1e013f /package/busybox/patches/340-lock_util.patch | |
parent | 1a94b0d4a0fc4686df2e163e17790af0613aca13 (diff) | |
download | upstream-3d497ab62c19ed66b3b69ba7b01d8f7d095c3f83.tar.gz upstream-3d497ab62c19ed66b3b69ba7b01d8f7d095c3f83.tar.bz2 upstream-3d497ab62c19ed66b3b69ba7b01d8f7d095c3f83.zip |
reduce the possibility of race conditions when using the lock utility
SVN-Revision: 5297
Diffstat (limited to 'package/busybox/patches/340-lock_util.patch')
-rw-r--r-- | package/busybox/patches/340-lock_util.patch | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/package/busybox/patches/340-lock_util.patch b/package/busybox/patches/340-lock_util.patch index a86948d597..acb4457f38 100644 --- a/package/busybox/patches/340-lock_util.patch +++ b/package/busybox/patches/340-lock_util.patch @@ -33,7 +33,7 @@ diff -ruN busybox-1.2.0-old/miscutils/Config.in busybox-1.2.0-new/miscutils/Conf diff -ruN busybox-1.2.0-old/miscutils/lock.c busybox-1.2.0-new/miscutils/lock.c --- busybox-1.2.0-old/miscutils/lock.c 1970-01-01 01:00:00.000000000 +0100 +++ busybox-1.2.0-new/miscutils/lock.c 2006-08-01 10:21:15.000000000 +0200 -@@ -0,0 +1,133 @@ +@@ -0,0 +1,135 @@ +/* + * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org> + * @@ -93,9 +93,11 @@ diff -ruN busybox-1.2.0-old/miscutils/lock.c busybox-1.2.0-new/miscutils/lock.c + int pid; + char pidstr[8]; + -+ if ((fd = open(file, O_RDWR | O_CREAT, 0700)) < 0) { -+ fprintf(stderr, "Can't open %s\n", file); -+ return 1; ++ if ((fd = open(file, O_RDWR | O_CREAT | O_EXCL, 0700)) < 0) { ++ if ((fd = open(file, O_RDWR)) < 0) { ++ fprintf(stderr, "Can't open %s\n", file); ++ return 1; ++ } + } + + if (flock(fd, (shared ? LOCK_SH : LOCK_EX)) < 0) { |