summaryrefslogtreecommitdiffstats
path: root/zebra/if_ioctl_solaris.c
diff options
context:
space:
mode:
authorajs <ajs>2005-04-02 22:50:38 +0000
committerajs <ajs>2005-04-02 22:50:38 +0000
commit5caf51b7e8bba51247905f3c470d87caf7c5fe96 (patch)
treec10f3e155a1e8744c1a5be4034515985316144b9 /zebra/if_ioctl_solaris.c
parent14ccf58c68f8a1328f187384a2b498cda02155a0 (diff)
downloadquagga-5caf51b7e8bba51247905f3c470d87caf7c5fe96.tar.bz2
quagga-5caf51b7e8bba51247905f3c470d87caf7c5fe96.tar.xz
2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* if.h: (if_lookup_by_name_len, if_get_by_name_len) New functions. * if.c: (if_lookup_by_name_len, if_get_by_name_len) New functions. (if_get_by_name) Tighten up code. (interface) Use new function if_get_by_name_len. * zclient.c: (zebra_interface_add_read) Use new if_get_by_name_len function. (zebra_interface_state_read) Use new if_lookup_by_name_len function. * kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function to save a memcpy. * if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new if_get_by_name_len function. * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.
Diffstat (limited to 'zebra/if_ioctl_solaris.c')
-rw-r--r--zebra/if_ioctl_solaris.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/zebra/if_ioctl_solaris.c b/zebra/if_ioctl_solaris.c
index 38ac5a71..aa01b073 100644
--- a/zebra/if_ioctl_solaris.c
+++ b/zebra/if_ioctl_solaris.c
@@ -138,7 +138,9 @@ calculate_lifc_len: /* must hold privileges to enter here */
for (n = 0; n < lifconf.lifc_len; n += sizeof (struct lifreq))
{
- ifp = if_get_by_name (lifreq->lifr_name);
+ ifp = if_get_by_name_len(lifreq->lifr_name,
+ strnlen(lifreq->lifr_name,
+ sizeof(lifreq->lifr_name)));
if (lifreq->lifr_addr.ss_family == AF_INET)
ifp->flags |= IFF_IPV4;