Author: tuexen
Date: Thu Nov 24 17:21:52 2011
New Revision: 227940
URL: http://svn.freebsd.org/changeset/base/227940

Log:
  MFC r227486:
  
  Don't copy uninitialized memory. Also simplify the comparison
  of interface names.
  
  Approved by: re@

Modified:
  stable/9/sys/netinet/sctp_pcb.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/amd64/include/xen/   (props changed)
  stable/9/sys/boot/   (props changed)
  stable/9/sys/boot/i386/efi/   (props changed)
  stable/9/sys/boot/ia64/efi/   (props changed)
  stable/9/sys/boot/ia64/ski/   (props changed)
  stable/9/sys/boot/powerpc/boot1.chrp/   (props changed)
  stable/9/sys/boot/powerpc/ofw/   (props changed)
  stable/9/sys/cddl/contrib/opensolaris/   (props changed)
  stable/9/sys/conf/   (props changed)
  stable/9/sys/contrib/dev/acpica/   (props changed)
  stable/9/sys/contrib/octeon-sdk/   (props changed)
  stable/9/sys/contrib/pf/   (props changed)
  stable/9/sys/contrib/x86emu/   (props changed)

Modified: stable/9/sys/netinet/sctp_pcb.c
==============================================================================
--- stable/9/sys/netinet/sctp_pcb.c     Thu Nov 24 15:47:01 2011        
(r227939)
+++ stable/9/sys/netinet/sctp_pcb.c     Thu Nov 24 17:21:52 2011        
(r227940)
@@ -559,9 +559,9 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, vo
                atomic_add_int(&vrf->refcount, 1);
                sctp_ifnp->ifn_mtu = SCTP_GATHER_MTU_FROM_IFN_INFO(ifn, 
ifn_index, addr->sa_family);
                if (if_name != NULL) {
-                       memcpy(sctp_ifnp->ifn_name, if_name, SCTP_IFNAMSIZ);
+                       snprintf(sctp_ifnp->ifn_name, SCTP_IFNAMSIZ, "%s", 
if_name);
                } else {
-                       memcpy(sctp_ifnp->ifn_name, "unknown", min(7, 
SCTP_IFNAMSIZ));
+                       snprintf(sctp_ifnp->ifn_name, SCTP_IFNAMSIZ, "%s", 
"unknown");
                }
                hash_ifn_head = &SCTP_BASE_INFO(vrf_ifn_hash)[(ifn_index & 
SCTP_BASE_INFO(vrf_ifn_hashmark))];
                LIST_INIT(&sctp_ifnp->ifalist);
@@ -768,19 +768,9 @@ sctp_del_addr_from_vrf(uint32_t vrf_id, 
                         * panda who might recycle indexes fast.
                         */
                        if (if_name) {
-                               int len1, len2;
-
-                               len1 = min(SCTP_IFNAMSIZ, strlen(if_name));
-                               len2 = min(SCTP_IFNAMSIZ, 
strlen(sctp_ifap->ifn_p->ifn_name));
-                               if (len1 && len2 && (len1 == len2)) {
-                                       /* we can compare them */
-                                       if (strncmp(if_name, 
sctp_ifap->ifn_p->ifn_name, len1) == 0) {
-                                               /*
-                                                * They match its a correct
-                                                * delete
-                                                */
-                                               valid = 1;
-                                       }
+                               if (strncmp(if_name, 
sctp_ifap->ifn_p->ifn_name, SCTP_IFNAMSIZ) == 0) {
+                                       /* They match its a correct delete */
+                                       valid = 1;
                                }
                        }
                        if (!valid) {
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to