From db70aeede7b6a4c51a6006b9997cb039bd41599b Mon Sep 17 00:00:00 2001
From: lean <coolsnowwolf@gmail.com>
Date: Mon, 14 Feb 2022 14:02:29 +0800
Subject: [PATCH] dnsmasq: fix a lot of domains to a single ipset option
 crashes dnsmasq

---
 package/network/services/dnsmasq/files/dnsmasq.init | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init
index c2d324ea4..c8274e70a 100755
--- a/package/network/services/dnsmasq/files/dnsmasq.init
+++ b/package/network/services/dnsmasq/files/dnsmasq.init
@@ -796,25 +796,23 @@ dhcp_relay_add() {
 
 dnsmasq_ipset_add() {
 	local cfg="$1"
-	local ipsets domains
+	local ipsets
 
 	add_ipset() {
 		ipsets="${ipsets:+$ipsets,}$1"
 	}
 
 	add_domain() {
-		# leading '/' is expected
-		domains="$domains/$1"
+		xappend "--ipset=/$1/$ipsets"
 	}
 
 	config_list_foreach "$cfg" "name" add_ipset
-	config_list_foreach "$cfg" "domain" add_domain
 
-	if [ -z "$ipsets" ] || [ -z "$domains" ]; then
+	if [ -z "$ipsets" ]; then
 		return 0
 	fi
 
-	xappend "--ipset=$domains/$ipsets"
+	config_list_foreach "$cfg" "domain" add_domain
 }
 
 dnsmasq_start()