summaryrefslogtreecommitdiffhomepage
path: root/networking/libiproute/iproute.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-02-08 08:42:37 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2018-02-08 08:42:37 +0100
commit68ae54243cacee6beeb69842c7d562435acd5ad1 (patch)
tree0991e9bfa88bcdff63be362ad62627aacf532b37 /networking/libiproute/iproute.c
parent237a900bc5654c865298b33a70dee60e2cd05dbc (diff)
ip: fix crash in "ip neigh show"
parse_rtattr() was using tb[] array without initializing it. Based on patch by Balaji Punnuru <balaji_punnuru@cable.comcast.com> function old new delta parse_rtattr 85 107 +22 print_route 1630 1617 -13 print_linkinfo 807 794 -13 iproute_get 835 822 -13 print_rule 680 665 -15 ll_remember_index 263 248 -15 print_addrinfo 1223 1197 -26 ipaddr_list_or_flush 1253 1223 -30 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/7 up/down: 22/-125) Total: -103 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking/libiproute/iproute.c')
-rw-r--r--networking/libiproute/iproute.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c
index 95dafe183..2a8610ea6 100644
--- a/networking/libiproute/iproute.c
+++ b/networking/libiproute/iproute.c
@@ -83,7 +83,7 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,
if (len < 0)
bb_error_msg_and_die("wrong nlmsg len %d", len);
- memset(tb, 0, sizeof(tb));
+ //memset(tb, 0, sizeof(tb)); - parse_rtattr does this
parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len);
#if HAVE_RTA_TABLE
@@ -1081,7 +1081,7 @@ static int iproute_get(char **argv)
bb_error_msg_and_die("wrong len %d", len);
}
- memset(tb, 0, sizeof(tb));
+ //memset(tb, 0, sizeof(tb)); - parse_rtattr does this
parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len);
if (tb[RTA_PREFSRC]) {