summaryrefslogtreecommitdiff
path: root/babeld/babel_zebra.c
diff options
context:
space:
mode:
Diffstat (limited to 'babeld/babel_zebra.c')
-rw-r--r--babeld/babel_zebra.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/babeld/babel_zebra.c b/babeld/babel_zebra.c
index a1d3a9e8cc..2b998940d7 100644
--- a/babeld/babel_zebra.c
+++ b/babeld/babel_zebra.c
@@ -79,7 +79,7 @@ babel_zebra_read_ipv6 (int command, struct zclient *zclient,
/* IPv6 prefix. */
prefix.family = AF_INET6;
- prefix.prefixlen = stream_getc (s);
+ prefix.prefixlen = MIN (IPV6_MAX_PREFIXLEN, stream_getc (s));
stream_get (&prefix.prefix, s, PSIZE (prefix.prefixlen));
memset(&src_p, 0, sizeof(src_p));
@@ -140,9 +140,9 @@ babel_zebra_read_ipv4 (int command, struct zclient *zclient,
api.flags = stream_getl (s);
api.message = stream_getc (s);
- /* IPv6 prefix. */
+ /* IPv4 prefix. */
prefix.family = AF_INET;
- prefix.prefixlen = stream_getc (s);
+ prefix.prefixlen = MIN (IPV4_MAX_PREFIXLEN, stream_getc (s));
stream_get (&prefix.prefix, s, PSIZE (prefix.prefixlen));
/* Nexthop, ifindex, distance, metric. */