summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--accel-pppd/ipv6/dhcpv6_packet.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/accel-pppd/ipv6/dhcpv6_packet.c b/accel-pppd/ipv6/dhcpv6_packet.c
index e0f2b5d9..9bdede95 100644
--- a/accel-pppd/ipv6/dhcpv6_packet.c
+++ b/accel-pppd/ipv6/dhcpv6_packet.c
@@ -531,14 +531,15 @@ static void print_status(struct dhcpv6_option *opt, void (*print)(const char *fm
"NoAddrsAvail",
"NoBindings",
"NotOnLink",
- "UseMulticast"
+ "UseMulticast",
"NoPrefixAvail"
};
+ unsigned int code = ntohs(o->code);
- if (ntohs(o->code) < 0 || ntohs(o->code) > sizeof(status_name))
- print(" %u", ntohs(o->code));
+ if (code >= sizeof(status_name) / sizeof(status_name[0]))
+ print(" %u", code);
else
- print(" %s", status_name[ntohs(o->code)]);
+ print(" %s", status_name[code]);
}
static void print_reconf(struct dhcpv6_option *opt, void (*print)(const char *fmt, ...))