From 3b7b814c83f81d460ae8d413aea02aef1524242d Mon Sep 17 00:00:00 2001 From: ajs Date: Sat, 2 Apr 2005 16:37:07 +0000 Subject: 2005-04-02 Andrew J. Schorr * ospf6_route.c: (ospf6_route_show, ospf6_route_show_detail) Protect against the possibility that the string returned by if_indextoname may not terminate with '\0'. --- ospf6d/ChangeLog | 6 ++++++ ospf6d/ospf6_route.c | 10 +++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ospf6d/ChangeLog b/ospf6d/ChangeLog index 60519e64..e0a5775b 100644 --- a/ospf6d/ChangeLog +++ b/ospf6d/ChangeLog @@ -1,3 +1,9 @@ +2005-04-02 Andrew J. Schorr + + * ospf6_route.c: (ospf6_route_show, ospf6_route_show_detail) Protect + against the possibility that the string returned by if_indextoname + may not terminate with '\0'. + 2005-03-02 Vincent Jardin * ospf6_zebra.c: Fix core dump when router-id is provided with diff --git a/ospf6d/ospf6_route.c b/ospf6d/ospf6_route.c index f39a1b39..521d8ade 100644 --- a/ospf6d/ospf6_route.c +++ b/ospf6d/ospf6_route.c @@ -647,11 +647,11 @@ ospf6_route_show (struct vty *vty, struct ospf6_route *route) if (! if_indextoname (route->nexthop[0].ifindex, ifname)) snprintf (ifname, sizeof (ifname), "%d", route->nexthop[0].ifindex); - vty_out (vty, "%c%1s %2s %-30s %-25s %6s %s%s", + vty_out (vty, "%c%1s %2s %-30s %-25s %6.*s %s%s", (ospf6_route_is_best (route) ? '*' : ' '), OSPF6_DEST_TYPE_SUBSTR (route->type), OSPF6_PATH_TYPE_SUBSTR (route->path.type), - destination, nexthop, ifname, duration, VNL); + destination, nexthop, IFNAMSIZ, ifname, duration, VNL); for (i = 1; ospf6_nexthop_is_set (&route->nexthop[i]) && i < OSPF6_MULTI_PATH_LIMIT; i++) @@ -662,8 +662,8 @@ ospf6_route_show (struct vty *vty, struct ospf6_route *route) if (! if_indextoname (route->nexthop[i].ifindex, ifname)) snprintf (ifname, sizeof (ifname), "%d", route->nexthop[i].ifindex); - vty_out (vty, "%c%1s %2s %-30s %-25s %6s %s%s", - ' ', "", "", "", nexthop, ifname, "", VNL); + vty_out (vty, "%c%1s %2s %-30s %-25s %6.*s %s%s", + ' ', "", "", "", nexthop, IFNAMSIZ, ifname, "", VNL); } } @@ -758,7 +758,7 @@ ospf6_route_show_detail (struct vty *vty, struct ospf6_route *route) sizeof (nexthop)); if (! if_indextoname (route->nexthop[i].ifindex, ifname)) snprintf (ifname, sizeof (ifname), "%d", route->nexthop[i].ifindex); - vty_out (vty, " %s %s%s", nexthop, ifname, VNL); + vty_out (vty, " %s %.*s%s", nexthop, IFNAMSIZ, ifname, VNL); } vty_out (vty, "%s", VNL); } -- cgit v1.2.1