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>
This commit is contained in:
@ -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]) {
|
||||
|
Reference in New Issue
Block a user