diff options
| author | Renato Westphal <renato@opensourcerouting.org> | 2017-08-19 14:12:20 -0300 |
|---|---|---|
| committer | Renato Westphal <renato@opensourcerouting.org> | 2017-08-23 17:45:17 -0300 |
| commit | e959008b1ef36acc572d41555f7df2d3e7f9a0cf (patch) | |
| tree | 2a7965329514855682fe6159e5922935ba805892 /babeld/babel_zebra.c | |
| parent | f38efb809d91605b3b29cf9eb226825d28f680af (diff) | |
babeld/eigrpd/ldpd/nhrpd: add prefix length sanity checks
Pulled from d917882.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'babeld/babel_zebra.c')
| -rw-r--r-- | babeld/babel_zebra.c | 6 |
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. */ |
