From: Felix Fietkau <nbd@openwrt.org>
Date: Thu, 12 Jul 2007 21:59:38 +0000 (+0000)
Subject: avoid a race condition that might lead to dnsmasq reading an empty resolv.conf (... 
X-Git-Tag: reboot~28689
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=1b4380b8edfc66ee57f7d016308fd9d92eea8874;p=openwrt%2Fstaging%2Fpepe2k.git

avoid a race condition that might lead to dnsmasq reading an empty resolv.conf (#2007)

SVN-Revision: 7952
---

diff --git a/package/base-files/files/usr/share/udhcpc/default.script b/package/base-files/files/usr/share/udhcpc/default.script
index a3a696be70..7ce3d2aa89 100755
--- a/package/base-files/files/usr/share/udhcpc/default.script
+++ b/package/base-files/files/usr/share/udhcpc/default.script
@@ -47,12 +47,13 @@ case "$1" in
 		}
 		
 		[ -n "$dns" ] && {
-			echo -n > $RESOLV_CONF
-			${domain:+echo search $domain} >> $RESOLV_CONF
+			echo -n > "${RESOLV_CONF}.tmp"
+			${domain:+echo search $domain} >> "${RESOLV_CONF}.tmp"
 			for i in $dns ; do
 				echo "adding dns $i"
-				echo "nameserver $i" >> $RESOLV_CONF
+				echo "nameserver $i" >> "${RESOLV_CONF}.tmp"
 			done
+			mv "${RESOLV_CONF}.tmp" "$RESOLV_CONF"
 		}
 		
 		hotplug_event ifup