summaryrefslogtreecommitdiffstats
path: root/isisd/isis_zebra.c
diff options
context:
space:
mode:
Diffstat (limited to 'isisd/isis_zebra.c')
-rw-r--r--isisd/isis_zebra.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/isisd/isis_zebra.c b/isisd/isis_zebra.c
index a1a5bea7..4acaf8e8 100644
--- a/isisd/isis_zebra.c
+++ b/isisd/isis_zebra.c
@@ -529,6 +529,7 @@ isis_zebra_read_ipv4 (int command, struct zclient *zclient,
struct prefix *p_generic = (struct prefix*)&p;
unsigned long ifindex __attribute__ ((unused));
struct in_addr nexthop __attribute__ ((unused));
+ unsigned char plength = 0;
stream = zclient->ibuf;
memset(&api, 0, sizeof(api));
@@ -541,7 +542,8 @@ isis_zebra_read_ipv4 (int command, struct zclient *zclient,
api.message = stream_getc (stream);
p.family = AF_INET;
- p.prefixlen = MIN(IPV4_MAX_PREFIXLEN, stream_getc (stream));
+ plength = stream_getc (stream);
+ p.prefixlen = MIN(IPV4_MAX_PREFIXLEN, plength);
stream_get (&p.prefix, stream, PSIZE (p.prefixlen));
if (CHECK_FLAG (api.message, ZAPI_MESSAGE_NEXTHOP))