On Wed, Mar 07, 2018 at 05:17:59PM -0600, Edgar Pettijohn wrote: > This looks like a good place for reallocarray. Yes? > > Index: spamd-setup.c > =================================================================== > RCS file: /cvs/src/libexec/spamd-setup/spamd-setup.c,v > retrieving revision 1.50 > diff -u -p -u -r1.50 spamd-setup.c > --- spamd-setup.c 7 Jul 2017 00:10:15 -0000 1.50 > +++ spamd-setup.c 7 Mar 2018 23:14:00 -0000 > @@ -363,7 +363,7 @@ fix_quoted_colons(char *buf) > char *newbuf, last; > > /* Allocate enough space for a buf of all colons (impossible). */ > - newbuf = malloc(2 * strlen(buf) + 1); > + newbuf = reallocarray(NULL, 2, strlen(buf) + 1); > if (newbuf == NULL) > return (NULL); > last = '\0';
FWIW, the old code evaluates as (2 * strlen(buf)) + 1 but the new code evaluates as 2 * (strlen(buf) + 1)
