diff options
author | ajs <ajs> | 2005-04-02 22:50:38 +0000 |
---|---|---|
committer | ajs <ajs> | 2005-04-02 22:50:38 +0000 |
commit | a349198fd3e4e5692cdc91223f8153cb53c086ce (patch) | |
tree | e5b366a8ab7ab9ed1c9670faf1f18eef26877ade /lib/zclient.c | |
parent | f695b01ff8e9aebc46bdf41f104ad4abbb0ef59e (diff) |
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 'lib/zclient.c')
-rw-r--r-- | lib/zclient.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/zclient.c b/lib/zclient.c index 453e6cdd..efcad57f 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -534,12 +534,8 @@ zebra_interface_add_read (struct stream *s) /* Read interface name. */ stream_get (ifname_tmp, s, INTERFACE_NAMSIZ); - /* Lookup this by interface name. */ - ifp = if_lookup_by_name (ifname_tmp); - - /* If such interface does not exist, make new one. */ - if (! ifp) - ifp = if_create (ifname_tmp, INTERFACE_NAMSIZ); + /* Lookup/create interface by name. */ + ifp = if_get_by_name_len (ifname_tmp, strnlen(ifname_tmp, INTERFACE_NAMSIZ)); /* Read interface's index. */ ifp->ifindex = stream_getl (s); @@ -579,7 +575,8 @@ zebra_interface_state_read (struct stream *s) stream_get (ifname_tmp, s, INTERFACE_NAMSIZ); /* Lookup this by interface index. */ - ifp = if_lookup_by_name (ifname_tmp); + ifp = if_lookup_by_name_len (ifname_tmp, + strnlen(ifname_tmp, INTERFACE_NAMSIZ)); /* If such interface does not exist, indicate an error */ if (! ifp) |