aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2017-06-20 12:16:56 +0200
committerTobias Brunner <tobias@strongswan.org>2017-07-05 10:21:25 +0200
commitfd0a7b47959ef537beb9670f4f02cf2d29858cbd (patch)
tree0bee3806f954eda028207689bfb9718eb235ee0a /src/libcharon
parentef6b710f192d7ffedaab9af008ccdf46d2a9b070 (diff)
downloadstrongswan-fd0a7b47959ef537beb9670f4f02cf2d29858cbd.tar.bz2
strongswan-fd0a7b47959ef537beb9670f4f02cf2d29858cbd.tar.xz
kernel-pfroute: Make sure there is a netmask when enumerating subnets
Diffstat (limited to 'src/libcharon')
-rw-r--r--src/libcharon/plugins/kernel_pfroute/kernel_pfroute_net.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcharon/plugins/kernel_pfroute/kernel_pfroute_net.c b/src/libcharon/plugins/kernel_pfroute/kernel_pfroute_net.c
index 6d06ee179..da7ae472d 100644
--- a/src/libcharon/plugins/kernel_pfroute/kernel_pfroute_net.c
+++ b/src/libcharon/plugins/kernel_pfroute/kernel_pfroute_net.c
@@ -1831,7 +1831,7 @@ METHOD(enumerator_t, enumerate_subnets, bool,
for (; this->current < this->buf + this->len;
this->current += rtm->rtm_msglen)
{
- struct sockaddr *netmask;
+ struct sockaddr *netmask = NULL;
uint8_t netbits = 0;
rtm = (struct rt_msghdr*)this->current;
@@ -1864,7 +1864,7 @@ METHOD(enumerator_t, enumerate_subnets, bool,
this->ifname = strndup(sdl->sdl_data, sdl->sdl_nlen);
}
}
- if (this->net)
+ if (this->net && netmask)
{
netbits = sockaddr_to_netmask(netmask, this->net);
}