Hello,

Two instances of memset() can be removed in lex if calloc() is
used instead of malloc().

- Michael


Index: filter.c
===================================================================
RCS file: /cvs/src/usr.bin/lex/filter.c,v
retrieving revision 1.7
diff -u -p -u -r1.7 filter.c
--- filter.c    18 Dec 2016 06:11:23 -0000      1.7
+++ filter.c    17 Aug 2017 05:46:13 -0000
@@ -50,10 +50,9 @@ filter_create_ext(struct filter * chain,
        va_list ap;
 
        /* allocate and initialize new filter */
-       f = malloc(sizeof(struct filter));
+       f = calloc(sizeof(struct filter), 1);
        if (!f)
-               flexerror(_("malloc failed (f) in filter_create_ext"));
-       memset(f, 0, sizeof(*f));
+               flexerror(_("calloc failed (f) in filter_create_ext"));
        f->filter_func = NULL;
        f->extra = NULL;
        f->next = NULL;
@@ -103,10 +102,9 @@ filter_create_int(struct filter * chain,
        struct filter *f;
 
        /* allocate and initialize new filter */
-       f = malloc(sizeof(struct filter));
+       f = calloc(sizeof(struct filter), 1);
        if (!f)
-               flexerror(_("malloc failed in filter_create_int"));
-       memset(f, 0, sizeof(*f));
+               flexerror(_("calloc failed in filter_create_int"));
        f->next = NULL;
        f->argc = 0;
        f->argv = NULL;

Reply via email to