From b8357911bec2572d250cacf9ca5b37d26ef8ce72 Mon Sep 17 00:00:00 2001 From: ajs Date: Sun, 3 Apr 2005 03:40:52 +0000 Subject: 2005-04-02 Andrew J. Schorr * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len. * if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to avoid overflow. * kernel_socket.c: (ifan_read) Use if_get_by_name_len. * if.h: Fix comments to reflect that if_lookup_by_name and if_get_by_name now require the argument strings to be NUL-terminated. * if.c: (if_lookup_by_name) Compare using strcmp. (if_get_by_name) Pass strlen(ifname) as 2nd arg to if_create. --- zebra/kernel_socket.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'zebra/kernel_socket.c') diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c index 12125630..c1f785d4 100644 --- a/zebra/kernel_socket.c +++ b/zebra/kernel_socket.c @@ -201,7 +201,9 @@ ifan_read (struct if_announcemsghdr *ifan) if (ifp == NULL && ifan->ifan_what == IFAN_ARRIVAL) { /* Create Interface */ - ifp = if_get_by_name (ifan->ifan_name); + ifp = if_get_by_name_len(ifan->ifan_name, + strnlen(ifan->ifan_name, + sizeof(ifan->ifan_name))); ifp->ifindex = ifan->ifan_index; if_add_update (ifp); -- cgit v1.2.3