Browse Source

dnsmasq: fix dhcp-host entries with empty macs

Due to improper localization of helper variables, "config host" entries
without a given mac address may inherit the mac address of a preceeding,
leading to invalid generated netive configuration.

Fix the issue by marking the "macs" and "tags" helper variables in
dhcp_host_add() local, avoiding the need for explicitely resetting them
with each invocation.

Reported-by: Russell Senior <[email protected]>
Tested-by: Kevin Darbyshire-Bryant <[email protected]>
Signed-off-by: Jo-Philipp Wich <[email protected]>
Jo-Philipp Wich 8 years ago
parent
commit
fcfd5cdb59
1 changed files with 1 additions and 3 deletions
  1. 1 3
      package/network/services/dnsmasq/files/dnsmasq.init

+ 1 - 3
package/network/services/dnsmasq/files/dnsmasq.init

@@ -277,7 +277,7 @@ dhcp_match_add() {
 
 dhcp_host_add() {
 	local cfg="$1"
-	local hosttag nametime addrs duids
+	local hosttag nametime addrs duids macs tags
 
 	config_get_bool force "$cfg" force 0
 
@@ -305,7 +305,6 @@ dhcp_host_add() {
 	if [ -n "$mac" ]; then
 		# --dhcp-host=00:20:e0:3b:13:af,192.168.0.199,lap
 		# many MAC are possible to track a laptop ON/OFF dock
-		macs=""
 		for m in $mac; do append macs "$m" ","; done
 	fi
 
@@ -326,7 +325,6 @@ dhcp_host_add() {
 		hex_to_hostid hostid "$hostid"
 	fi
 
-	tags=""
 	if [ -n "$tag" ]; then
 		for t in $tag; do append tags "$t" ",set:"; done
 	fi