summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2014-08-11 19:42:59 +0200
committerJo-Philipp Wich <jow@openwrt.org>2014-08-11 19:42:59 +0200
commit8205107ffd31a21c1d4d93eaa7a44d41c6c3c10d (patch)
treeb9770aa5e6547d54bbd227babad0accb68ba986d
parent2807cc26b8e46eef5f23c06534a853dd48183331 (diff)
downloadfirewall3-8205107ffd31a21c1d4d93eaa7a44d41c6c3c10d.tar.gz
utils: ifa_addr may be NULL, skip such entries
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
-rw-r--r--utils.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/utils.c b/utils.c
index d8a881c..cb478bb 100644
--- a/utils.c
+++ b/utils.c
@@ -529,7 +529,7 @@ write_zone_uci(struct uci_context *ctx, struct fw3_zone *z,
for (ifa = ifaddr; ifa; ifa = ifa->ifa_next)
{
- if (strcmp(dev->name, ifa->ifa_name))
+ if (!ifa->ifa_addr || strcmp(dev->name, ifa->ifa_name))
continue;
if (ifa->ifa_addr->sa_family == AF_INET)
@@ -852,7 +852,7 @@ fw3_flush_conntrack(void *state)
{
for (ifa = ifaddr; ifa && !found; ifa = ifa->ifa_next)
{
- if (strcmp(dev->name, ifa->ifa_name))
+ if (!ifa->ifa_addr || strcmp(dev->name, ifa->ifa_name))
continue;
sin = (struct sockaddr_in *)ifa->ifa_addr;