From 175e2440df5be09b0a4c134cad958a49f7bfb9d9 Mon Sep 17 00:00:00 2001 From: "osdl.net!shemminger" Date: Mon, 7 Feb 2005 18:17:38 +0000 Subject: [PATCH] gcc 2.95 compile fix. (Logical change 1.138) --- lib/libnetlink.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/libnetlink.c b/lib/libnetlink.c index 57fa0c80..4cd2b2a1 100644 --- a/lib/libnetlink.c +++ b/lib/libnetlink.c @@ -553,6 +553,7 @@ int rta_addattr_l(struct rtattr *rta, int maxlen, int type, int parse_rtattr(struct rtattr *tb[], int max, struct rtattr *rta, int len) { + memset(tb, 0, sizeof(struct rtattr *) * (max + 1)); while (RTA_OK(rta, len)) { if (rta->rta_type <= max) tb[rta->rta_type] = rta; @@ -566,8 +567,10 @@ int parse_rtattr(struct rtattr *tb[], int max, struct rtattr *rta, int len) int parse_rtattr_byindex(struct rtattr *tb[], int max, struct rtattr *rta, int len) { int i = 0; + + memset(tb, 0, sizeof(struct rtattr *) * max); while (RTA_OK(rta, len)) { - if (rta->rta_type <= max) + if (rta->rta_type <= max && i < max) tb[i++] = rta; rta = RTA_NEXT(rta,len); }