On Mon, Sep 14, 2015 at 09:18:35AM -0400, Michael McConville wrote:
> Ted Unangst wrote:
> > Michael McConville wrote:
> > > There will probably be more similar patches to come if this is
> > > acceptable. The legwork was done with the following Coccinelle script:
> > 
> > I think it should be split up, but I'm happy to see diffs like this.
> 
> Is this small enough? It's just lib/libc/gen.
> 

still a bit long to keep attention while reading it :)

if anybody wants to commit it, it is OK.

> Index: auth_subr.c
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/auth_subr.c,v
> retrieving revision 1.44
> diff -u -p -r1.44 auth_subr.c
> --- auth_subr.c       12 Sep 2015 15:20:14 -0000      1.44
> +++ auth_subr.c       14 Sep 2015 13:15:28 -0000
> @@ -284,14 +284,10 @@ auth_close(auth_session_t *as)
>        */
>       if (as->service && as->service != defservice)
>               free(as->service);
> -     if (as->challenge)
> -             free(as->challenge);
> -     if (as->class)
> -             free(as->class);
> -     if (as->style)
> -             free(as->style);
> -     if (as->name)
> -             free(as->name);
> +     free(as->challenge);
> +     free(as->class);
> +     free(as->style);
> +     free(as->name);
>  
>       free(as);
>       return (s);
> @@ -466,8 +462,7 @@ auth_setitem(auth_session_t *as, auth_it
>                       return (0);
>               if (value != NULL && (value = strdup(value)) == NULL)
>                       return (-1);
> -             if (as->challenge)
> -                     free(as->challenge);
> +             free(as->challenge);
>               as->challenge = value;
>               return (0);
>  
> @@ -476,8 +471,7 @@ auth_setitem(auth_session_t *as, auth_it
>                       return (0);
>               if (value != NULL && (value = strdup(value)) == NULL)
>                       return (-1);
> -             if (as->class)
> -                     free(as->class);
> +             free(as->class);
>               as->class = value;
>               return (0);
>  
> @@ -486,8 +480,7 @@ auth_setitem(auth_session_t *as, auth_it
>                       return (0);
>               if (value != NULL && (value = strdup(value)) == NULL)
>                       return (-1);
> -             if (as->name)
> -                     free(as->name);
> +             free(as->name);
>               as->name = value;
>               return (0);
>  
> @@ -509,8 +502,7 @@ auth_setitem(auth_session_t *as, auth_it
>               if (value == NULL || strchr(value, '/') != NULL ||
>                   (value = strdup(value)) == NULL)
>                       return (-1);
> -             if (as->style)
> -                     free(as->style);
> +             free(as->style);
>               as->style = value;
>               return (0);
>  
> Index: authenticate.c
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/authenticate.c,v
> retrieving revision 1.23
> diff -u -p -r1.23 authenticate.c
> --- authenticate.c    12 Sep 2015 15:20:14 -0000      1.23
> +++ authenticate.c    14 Sep 2015 13:15:28 -0000
> @@ -259,8 +259,7 @@ auth_approval(auth_session_t *as, login_
>                       login_close(lc);
>               syslog(LOG_ERR, "%m");
>               warn(NULL);
> -             if (approve)
> -                     free(approve);
> +             free(approve);
>               return (0);
>       }
>  
> @@ -294,8 +293,7 @@ auth_approval(auth_session_t *as, login_
>                   lc->lc_class, type, (char *)NULL);
>  
>  out:
> -     if (approve)
> -             free(approve);
> +     free(approve);
>       if (close_lc_on_exit)
>               login_close(lc);
>  
> Index: fts.c
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/fts.c,v
> retrieving revision 1.51
> diff -u -p -r1.51 fts.c
> --- fts.c     12 Sep 2015 13:32:24 -0000      1.51
> +++ fts.c     14 Sep 2015 13:15:28 -0000
> @@ -228,8 +228,7 @@ fts_close(FTS *sp)
>       /* Free up child linked list, sort array, path buffer, stream ptr.*/
>       if (sp->fts_child)
>               fts_lfree(sp->fts_child);
> -     if (sp->fts_array)
> -             free(sp->fts_array);
> +     free(sp->fts_array);
>       free(sp->fts_path);
>       free(sp);
>  
> @@ -668,8 +667,7 @@ fts_build(FTS *sp, int type)
>                                * structures already allocated.
>                                */
>  mem1:                                saved_errno = errno;
> -                             if (p)
> -                                     free(p);
> +                             free(p);
>                               fts_lfree(head);
>                               (void)closedir(dirp);
>                               cur->fts_info = FTS_ERR;
> @@ -889,8 +887,7 @@ fts_sort(FTS *sp, FTSENT *head, int nite
>               sp->fts_nitems = nitems + 40;
>               if ((a = reallocarray(sp->fts_array,
>                   sp->fts_nitems, sizeof(FTSENT *))) == NULL) {
> -                     if (sp->fts_array)
> -                             free(sp->fts_array);
> +                     free(sp->fts_array);
>                       sp->fts_array = NULL;
>                       sp->fts_nitems = 0;
>                       return (head);
> @@ -964,8 +961,7 @@ fts_palloc(FTS *sp, size_t more)
>        */
>       more += 256;
>       if (sp->fts_pathlen + more < sp->fts_pathlen) {
> -             if (sp->fts_path)
> -                     free(sp->fts_path);
> +             free(sp->fts_path);
>               sp->fts_path = NULL;
>               errno = ENAMETOOLONG;
>               return (1);
> @@ -973,8 +969,7 @@ fts_palloc(FTS *sp, size_t more)
>       sp->fts_pathlen += more;
>       p = realloc(sp->fts_path, sp->fts_pathlen);
>       if (p == NULL) {
> -             if (sp->fts_path)
> -                     free(sp->fts_path);
> +             free(sp->fts_path);
>               sp->fts_path = NULL;
>               return (1);
>       }
> Index: getcap.c
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/getcap.c,v
> retrieving revision 1.32
> diff -u -p -r1.32 getcap.c
> --- getcap.c  13 Sep 2015 08:31:47 -0000      1.32
> +++ getcap.c  14 Sep 2015 13:15:28 -0000
> @@ -87,8 +87,7 @@ int
>  cgetset(const char *ent)
>  {
>       if (ent == NULL) {
> -             if (toprec)
> -                     free(toprec);
> +             free(toprec);
>               toprec = NULL;
>               topreclen = 0;
>               return (0);
> @@ -354,8 +353,7 @@ getent(char **cap, u_int *len, char **db
>                                       newsize = r_end - record + BFRAG;
>                                       nrecord = realloc(record, newsize);
>                                       if (nrecord == NULL) {
> -                                             if (record)
> -                                                     free(record);
> +                                             free(record);
>                                               if (myfd)
>                                                       (void)fclose(fp);
>                                               errno = ENOMEM;
> @@ -498,8 +496,7 @@ tc_exp:   {
>                               tcposend = tcend - record;
>                               nrecord = realloc(record, newsize);
>                               if (nrecord == NULL) {
> -                                     if (record)
> -                                             free(record);
> +                                     free(record);
>                                       if (myfd)
>                                               (void)fclose(fp);
>                                       free(ibuf);
> @@ -542,8 +539,7 @@ tc_exp:   {
>  
>               if ((nrecord =
>                    realloc(record, (size_t)(rp - record))) == NULL) {
> -                     if (record)
> -                             free(record);
> +                     free(record);
>                       errno = ENOMEM;
>                       return (-2);
>               }
> @@ -910,8 +906,7 @@ cgetstr(char *buf, const char *cap, char
>                       char *nmem;
>  
>                       if ((nmem = realloc(mem, size + SFRAG)) == NULL) {
> -                             if (mem)
> -                                     free(mem);
> +                             free(mem);
>                               return (-2);
>                       }
>                       mem = nmem;
> @@ -930,8 +925,7 @@ cgetstr(char *buf, const char *cap, char
>               char *nmem;
>  
>               if ((nmem = realloc(mem, (size_t)(mp - mem))) == NULL) {
> -                     if (mem)
> -                             free(mem);
> +                     free(mem);
>                       return (-2);
>               }
>               mem = nmem;
> @@ -993,8 +987,7 @@ cgetustr(char *buf, const char *cap, cha
>                       char *nmem;
>  
>                       if ((nmem = realloc(mem, size + SFRAG)) == NULL) {
> -                             if (mem)
> -                                     free(mem);
> +                             free(mem);
>                               return (-2);
>                       }
>                       mem = nmem;
> @@ -1013,8 +1006,7 @@ cgetustr(char *buf, const char *cap, cha
>               char *nmem;
>  
>               if ((nmem = realloc(mem, mp - mem)) == NULL) {
> -                     if (mem)
> -                             free(mem);
> +                     free(mem);
>                       return (-2);
>               }
>               mem = nmem;
> Index: getgrent.c
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/getgrent.c,v
> retrieving revision 1.43
> diff -u -p -r1.43 getgrent.c
> --- getgrent.c        13 Sep 2015 12:20:12 -0000      1.43
> +++ getgrent.c        14 Sep 2015 13:15:28 -0000
> @@ -199,8 +199,7 @@ start_gr(void)
>               rewind(_gr_fp);
>  #ifdef YP
>               __ypmode = 0;
> -             if (__ypcurrent)
> -                     free(__ypcurrent);
> +             free(__ypcurrent);
>               __ypcurrent = NULL;
>               if (__ypexhead)
>                       __ypexclude_free(&__ypexhead);
> @@ -251,8 +250,7 @@ endgrent_basic(void)
>               _gr_fp = NULL;
>  #ifdef YP
>               __ypmode = 0;
> -             if (__ypcurrent)
> -                     free(__ypcurrent);
> +             free(__ypcurrent);
>               __ypcurrent = NULL;
>               if (__ypexhead)
>                       __ypexclude_free(&__ypexhead);
> Index: getmntinfo.c
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/getmntinfo.c,v
> retrieving revision 1.9
> diff -u -p -r1.9 getmntinfo.c
> --- getmntinfo.c      20 Aug 2015 21:49:29 -0000      1.9
> +++ getmntinfo.c      14 Sep 2015 13:15:28 -0000
> @@ -47,8 +47,7 @@ getmntinfo(struct statfs **mntbufp, int 
>       if (bufsize > 0 && (mntsize = getfsstat(mntbuf, bufsize, flags)) < 0)
>               return (0);
>       while (bufsize <= mntsize * sizeof(struct statfs)) {
> -             if (mntbuf)
> -                     free(mntbuf);
> +             free(mntbuf);
>               bufsize = (mntsize + 1) * sizeof(struct statfs);
>               if ((mntbuf = malloc(bufsize)) == 0) {
>                       bufsize = 0;
> Index: getnetgrent.c
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/getnetgrent.c,v
> retrieving revision 1.26
> diff -u -p -r1.26 getnetgrent.c
> --- getnetgrent.c     14 Sep 2015 10:44:40 -0000      1.26
> +++ getnetgrent.c     14 Sep 2015 13:15:28 -0000
> @@ -233,11 +233,9 @@ getnetgroup(char **pp)
>       return ng;
>  
>  baddomain:
> -     if (ng->ng_user)
> -             free(ng->ng_user);
> +     free(ng->ng_user);
>  baduser:
> -     if (ng->ng_host)
> -             free(ng->ng_host);
> +     free(ng->ng_host);
>  badhost:
>       free(ng);
>       return NULL;
> @@ -477,12 +475,9 @@ in_find(char *ypdom, struct stringlist *
>               case _NG_GROUP:
>                       /* new netgroup */
>                       i = in_check(host, user, domain, ng);
> -                     if (ng->ng_host != NULL)
> -                             free(ng->ng_host);
> -                     if (ng->ng_user != NULL)
> -                             free(ng->ng_user);
> -                     if (ng->ng_domain != NULL)
> -                             free(ng->ng_domain);
> +                     free(ng->ng_host);
> +                     free(ng->ng_user);
> +                     free(ng->ng_domain);
>                       free(ng);
>                       if (i) {
>                               free(line);
> @@ -605,12 +600,9 @@ endnetgrent(void)
>  {
>       for (_nglist = _nghead; _nglist != NULL; _nglist = _nghead) {
>               _nghead = _nglist->ng_next;
> -             if (_nglist->ng_host != NULL)
> -                     free(_nglist->ng_host);
> -             if (_nglist->ng_user != NULL)
> -                     free(_nglist->ng_user);
> -             if (_nglist->ng_domain != NULL)
> -                     free(_nglist->ng_domain);
> +             free(_nglist->ng_host);
> +             free(_nglist->ng_user);
> +             free(_nglist->ng_domain);
>               free(_nglist);
>       }
>  
> @@ -701,8 +693,7 @@ innetgr(const char *grp, const char *hos
>       else if (lookup(NULL, "+", &line, _NG_KEYBYNAME) == 0)
>               yp_get_default_domain(&ypdom);
>  
> -     if (line)
> -             free(line);
> +     free(line);
>  #endif
>  
>       /* Try the fast lookup first */
> Index: getpwent.c
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/getpwent.c,v
> retrieving revision 1.55
> diff -u -p -r1.55 getpwent.c
> --- getpwent.c        13 Sep 2015 15:33:48 -0000      1.55
> +++ getpwent.c        14 Sep 2015 13:15:28 -0000
> @@ -294,8 +294,7 @@ again:
>                               __ypcurrent = NULL;
>                               if (r != 0) {
>                                       __ypmode = YPMODE_NONE;
> -                                     if (data)
> -                                             free(data);
> +                                     free(data);
>                                       goto again;
>                               }
>                               __ypcurrent = key;
> @@ -307,8 +306,7 @@ again:
>                               if (r != 0 ||
>                                   __ypcurrentlen > sizeof(__ypline)) {
>                                       __ypmode = YPMODE_NONE;
> -                                     if (data)
> -                                             free(data);
> +                                     free(data);
>                                       goto again;
>                               }
>                       }
> @@ -333,8 +331,7 @@ again:
>                                * if the netgroup is invalid, keep looking
>                                * as there may be valid users later on.
>                                */
> -                             if (data)
> -                                     free(data);
> +                             free(data);
>                               goto again;
>                       }
>                       bcopy(data, __ypline, datalen);
> @@ -349,8 +346,7 @@ again:
>                               name = NULL;
>                               if (r != 0 ||
>                                   __ypcurrentlen > sizeof(__ypline)) {
> -                                     if (data)
> -                                             free(data);
> +                                     free(data);
>                                       goto again;
>                               }
>                               bcopy(data, __ypline, datalen);
> @@ -506,8 +502,7 @@ __has_ypmaster(void)
>               return (checked);
>       }
>       free(result);
> -     if (key)
> -             free(key);
> +     free(key);
>  
>       saved_uid = uid;
>       saved_euid = euid;
> @@ -566,8 +561,7 @@ __yppwlookup(int lookup, char *name, uid
>                                   name, strlen(name),
>                                   &ypcurrent, &ypcurrentlen);
>                               if (r != 0 || ypcurrentlen > buflen) {
> -                                     if (ypcurrent)
> -                                             free(ypcurrent);
> +                                     free(ypcurrent);
>                                       ypcurrent = NULL;
>                                       continue;
>                               }
> @@ -593,8 +587,7 @@ pwnam_netgrp:
>                                       } else
>                                               goto pwnam_netgrp;
>                                       if (r != 0 || ypcurrentlen > buflen) {
> -                                             if (ypcurrent)
> -                                                     free(ypcurrent);
> +                                             free(ypcurrent);
>                                               ypcurrent = NULL;
>                                               /*
>                                                * just because this
> @@ -615,8 +608,7 @@ pwnam_netgrp:
>                                   user, strlen(user),
>                                   &ypcurrent, &ypcurrentlen);
>                               if (r != 0 || ypcurrentlen > buflen) {
> -                                     if (ypcurrent)
> -                                             free(ypcurrent);
> +                                     free(ypcurrent);
>                                       ypcurrent = NULL;
>                                       continue;
>                               }
> @@ -661,8 +653,7 @@ pwnam_netgrp:
>  done:
>       __ypexclude_free(&ypexhead);
>       __ypproto = NULL;
> -     if (ypcurrent)
> -             free(ypcurrent);
> +     free(ypcurrent);
>       ypcurrent = NULL;
>       if (map)
>               free(name);
> @@ -840,8 +831,7 @@ setpassent(int stayopen)
>       _pw_stayopen = stayopen;
>  #ifdef YP
>       __ypmode = YPMODE_NONE;
> -     if (__ypcurrent)
> -             free(__ypcurrent);
> +     free(__ypcurrent);
>       __ypcurrent = NULL;
>       __ypexclude_free(&__ypexhead);
>       __ypproto = NULL;
> @@ -871,8 +861,7 @@ endpwent(void)
>       }
>  #ifdef YP
>       __ypmode = YPMODE_NONE;
> -     if (__ypcurrent)
> -             free(__ypcurrent);
> +     free(__ypcurrent);
>       __ypcurrent = NULL;
>       __ypexclude_free(&__ypexhead);
>       __ypproto = NULL;
> Index: getusershell.c
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/getusershell.c,v
> retrieving revision 1.15
> diff -u -p -r1.15 getusershell.c
> --- getusershell.c    6 Feb 2015 23:21:58 -0000       1.15
> +++ getusershell.c    14 Sep 2015 13:15:28 -0000
> @@ -67,11 +67,9 @@ void
>  endusershell(void)
>  {
>       
> -     if (shells != NULL)
> -             free(shells);
> +     free(shells);
>       shells = NULL;
> -     if (strings != NULL)
> -             free(strings);
> +     free(strings);
>       strings = NULL;
>       curshell = NULL;
>  }
> @@ -90,11 +88,9 @@ initshells(void)
>       FILE *fp;
>       struct stat statb;
>  
> -     if (shells != NULL)
> -             free(shells);
> +     free(shells);
>       shells = NULL;
> -     if (strings != NULL)
> -             free(strings);
> +     free(strings);
>       strings = NULL;
>       if ((fp = fopen(_PATH_SHELLS, "re")) == NULL)
>               return (okshells);
> Index: glob.c
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/glob.c,v
> retrieving revision 1.43
> diff -u -p -r1.43 glob.c
> --- glob.c    13 Jun 2015 16:57:04 -0000      1.43
> +++ glob.c    14 Sep 2015 13:15:28 -0000
> @@ -954,15 +954,13 @@ globfree(glob_t *pglob)
>       if (pglob->gl_pathv != NULL) {
>               pp = pglob->gl_pathv + pglob->gl_offs;
>               for (i = pglob->gl_pathc; i--; ++pp)
> -                     if (*pp)
> -                             free(*pp);
> +                     free(*pp);
>               free(pglob->gl_pathv);
>               pglob->gl_pathv = NULL;
>       }
>       if (pglob->gl_statv != NULL) {
>               for (i = 0; i < pglob->gl_pathc; i++) {
> -                     if (pglob->gl_statv[i] != NULL)
> -                             free(pglob->gl_statv[i]);
> +                     free(pglob->gl_statv[i]);
>               }
>               free(pglob->gl_statv);
>               pglob->gl_statv = NULL;
> Index: login_cap.c
> ===================================================================
> RCS file: /cvs/src/lib/libc/gen/login_cap.c,v
> retrieving revision 1.31
> diff -u -p -r1.31 login_cap.c
> --- login_cap.c       13 Sep 2015 19:58:50 -0000      1.31
> +++ login_cap.c       14 Sep 2015 13:15:28 -0000
> @@ -209,10 +209,8 @@ login_getstyle(login_cap_t *lc, char *st
>               if (lc->lc_style == NULL)
>                       syslog(LOG_ERR, "strdup: %m");
>       }
> -     if (f1)
> -             free(f1);
> -     if (f2)
> -             free(f2);
> +     free(f1);
> +     free(f2);
>       return (lc->lc_style);
>  }
>  DEF_WEAK(login_getstyle);
> @@ -270,12 +268,10 @@ login_getcaptime(login_cap_t *lc, char *
>  
>       switch (stat = cgetstr(lc->lc_cap, cap, &res)) {
>       case -1:
> -             if (res)
> -                     free(res);
> +             free(res);
>               return (def);
>       case -2:
> -             if (res)
> -                     free(res);
> +             free(res);
>               syslog(LOG_ERR, "%s: getting capability %s: %m",
>                   lc->lc_class, cap);
>               errno = ERANGE;
> @@ -283,8 +279,7 @@ login_getcaptime(login_cap_t *lc, char *
>       default:
>               if (stat >= 0) 
>                       break;
> -             if (res)
> -                     free(res);
> +             free(res);
>               syslog(LOG_ERR, "%s: unexpected error with capability %s",
>                   lc->lc_class, cap);
>               errno = ERANGE;
> @@ -359,12 +354,10 @@ login_getcapnum(login_cap_t *lc, char *c
>  
>       switch (stat = cgetstr(lc->lc_cap, cap, &res)) {
>       case -1:
> -             if (res)
> -                     free(res);
> +             free(res);
>               return (def);
>       case -2:
> -             if (res)
> -                     free(res);
> +             free(res);
>               syslog(LOG_ERR, "%s: getting capability %s: %m",
>                   lc->lc_class, cap);
>               errno = ERANGE;
> @@ -372,8 +365,7 @@ login_getcapnum(login_cap_t *lc, char *c
>       default:
>               if (stat >= 0) 
>                       break;
> -             if (res)
> -                     free(res);
> +             free(res);
>               syslog(LOG_ERR, "%s: unexpected error with capability %s",
>                   lc->lc_class, cap);
>               errno = ERANGE;
> @@ -417,12 +409,10 @@ login_getcapsize(login_cap_t *lc, char *
>  
>       switch (stat = cgetstr(lc->lc_cap, cap, &res)) {
>       case -1:
> -             if (res)
> -                     free(res);
> +             free(res);
>               return (def);
>       case -2:
> -             if (res)
> -                     free(res);
> +             free(res);
>               syslog(LOG_ERR, "%s: getting capability %s: %m",
>                   lc->lc_class, cap);
>               errno = ERANGE;
> @@ -430,8 +420,7 @@ login_getcapsize(login_cap_t *lc, char *
>       default:
>               if (stat >= 0) 
>                       break;
> -             if (res)
> -                     free(res);
> +             free(res);
>               syslog(LOG_ERR, "%s: unexpected error with capability %s",
>                   lc->lc_class, cap);
>               errno = ERANGE;
> @@ -467,12 +456,9 @@ void
>  login_close(login_cap_t *lc)
>  {
>       if (lc) {
> -             if (lc->lc_class)
> -                     free(lc->lc_class);
> -             if (lc->lc_cap)
> -                     free(lc->lc_cap);
> -             if (lc->lc_style)
> -                     free(lc->lc_style);
> +             free(lc->lc_class);
> +             free(lc->lc_cap);
> +             free(lc->lc_style);
>               free(lc);
>       }
>  }
> 

-- 
Sebastien Marie

Reply via email to