From 880dd31353c8db8bad4b193cc4928ba01ff29c78 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 13 Jun 2022 15:21:01 +0200 Subject: [PATCH] fw4: fix skipping invalid IPv6 ipset entries The current code did not account for invalid IPv6 entries yielding `null` after subnet parsing, leading to an incorrect warning about multiple entries and a subsequent `null` access leading to a crash. Fix the issue by ensuring that the length check expression yields `0` on invalid inputs. Signed-off-by: Jo-Philipp Wich --- root/usr/share/ucode/fw4.uc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/root/usr/share/ucode/fw4.uc b/root/usr/share/ucode/fw4.uc index 0200758..d600528 100644 --- a/root/usr/share/ucode/fw4.uc +++ b/root/usr/share/ucode/fw4.uc @@ -1439,7 +1439,7 @@ return { case 'ipv6_addr': ip = filter(this.parse_subnet(values[i]), a => (a.family == 6)); - switch(length(ip)) { + switch (length(ip) ?? 0) { case 0: return null; case 1: break; case 2: this.warn("Set entry '%s' resolves to multiple addresses, using first one", values[i]); -- 2.30.2