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.
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index b1d6bbe..e8eae90 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,5 +1,9 @@
 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
+	* ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.
+
+2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
 	* ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
 	  flags to help with debugging.
 	* ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c
index b76abe5..027dfb9 100644
--- a/ospfd/ospf_interface.c
+++ b/ospfd/ospf_interface.c
@@ -880,8 +880,8 @@
   if (IS_DEBUG_OSPF_EVENT)
     zlog_debug ("ospf_vl_new(): creating pseudo zebra interface");
 
-  snprintf (ifname, INTERFACE_NAMSIZ + 1, "VLINK%d", vlink_count);
-  vi = if_create (ifname, INTERFACE_NAMSIZ);
+  snprintf (ifname, sizeof(ifname), "VLINK%d", vlink_count);
+  vi = if_create (ifname, strnlen(ifname, sizeof(ifname)));
   co = connected_new ();
   co->ifp = vi;
   listnode_add (vi->connected, co);