Author: pfg
Date: Fri Jan 12 23:12:30 2018
New Revision: 327898
URL: https://svnweb.freebsd.org/changeset/base/327898

Log:
  libalias: small memory allocation cleanups.
  
  Make the calloc wrappers behave as expected by using mallocarray.
  It is rather weird that the malloc wrappers also zeroes the memory: update
  a comment to reflect at least two cases where it is expected.
  
  Reviewed by:  tuexen

Modified:
  head/sys/netinet/libalias/alias_mod.h
  head/sys/netinet/libalias/alias_sctp.c

Modified: head/sys/netinet/libalias/alias_mod.h
==============================================================================
--- head/sys/netinet/libalias/alias_mod.h       Fri Jan 12 23:06:35 2018        
(r327897)
+++ head/sys/netinet/libalias/alias_mod.h       Fri Jan 12 23:12:30 2018        
(r327898)
@@ -42,7 +42,7 @@ MALLOC_DECLARE(M_ALIAS);
 /* Use kernel allocator. */
 #if defined(_SYS_MALLOC_H_)
 #define        malloc(x)       malloc(x, M_ALIAS, M_NOWAIT|M_ZERO)
-#define        calloc(x, n)    malloc(x*n)
+#define        calloc(n, x)    mallocarray((n), (x), M_ALIAS, M_NOWAIT|M_ZERO)
 #define        free(x)         free(x, M_ALIAS)
 #endif
 #endif

Modified: head/sys/netinet/libalias/alias_sctp.c
==============================================================================
--- head/sys/netinet/libalias/alias_sctp.c      Fri Jan 12 23:06:35 2018        
(r327897)
+++ head/sys/netinet/libalias/alias_sctp.c      Fri Jan 12 23:12:30 2018        
(r327898)
@@ -187,7 +187,7 @@ static MALLOC_DEFINE(M_SCTPNAT, "sctpnat", "sctp nat d
 /* Use kernel allocator. */
 #ifdef _SYS_MALLOC_H_
 #define        sn_malloc(x)    malloc(x, M_SCTPNAT, M_NOWAIT|M_ZERO)
-#define        sn_calloc(n,x)  sn_malloc((x) * (n))
+#define        sn_calloc(n,x)  mallocarray((n), (x), M_SCTPNAT, 
M_NOWAIT|M_ZERO)
 #define        sn_free(x)      free(x, M_SCTPNAT)
 #endif// #ifdef _SYS_MALLOC_H_
 
@@ -1104,7 +1104,7 @@ sctp_PktParser(struct libalias *la, int direction, str
                                        if (*passoc == NULL) {/* out of 
resources */
                                                return 
(SN_PARSE_ERROR_AS_MALLOC);
                                        }
-                                       /* Initialise association - malloc 
initialises memory to zeros */
+                                       /* Initialize association - sn_malloc 
initializes memory to zeros */
                                        (*passoc)->state = SN_ID;
                                        LIST_INIT(&((*passoc)->Gaddr)); /* 
always initialise to avoid memory problems */
                                        (*passoc)->TableRegister = SN_NULL_TBL;
@@ -1168,7 +1168,7 @@ sctp_PktParser(struct libalias *la, int direction, str
                                        if (*passoc == NULL) {/* out of 
resources */
                                                return 
(SN_PARSE_ERROR_AS_MALLOC);
                                        }
-                                       /* Initialise association  - malloc 
initialises memory to zeros */
+                                       /* Initialize association  - sn_malloc 
initializes memory to zeros */
                                        (*passoc)->state = SN_ID;
                                        LIST_INIT(&((*passoc)->Gaddr)); /* 
always initialise to avoid memory problems */
                                        (*passoc)->TableRegister = SN_NULL_TBL;
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to