[pacman-dev] [PATCH 2/4] Another unneeded NULL check removed

Silvan Jegen s.jegen at gmail.com
Tue Jan 28 12:33:49 EST 2014


On Tue, Jan 28, 2014 at 10:58:30AM -0600, Dan McGee wrote:
> On Tue, Jan 28, 2014 at 10:50 AM, Silvan Jegen <s.jegen at gmail.com> wrote:
> 
> > Signed-off-by: Silvan Jegen <s.jegen at gmail.com>
> > ---
> >  src/pacman/util.c | 10 ++++------
> >  1 file changed, 4 insertions(+), 6 deletions(-)
> >
> > diff --git a/src/pacman/util.c b/src/pacman/util.c
> > index 58b0cec..4aaa98f 100644
> > --- a/src/pacman/util.c
> > +++ b/src/pacman/util.c
> > @@ -206,12 +206,10 @@ int rmrf(const char *path)
> >                         return 1;
> >                 }
> >                 for(dp = readdir(dirp); dp != NULL; dp = readdir(dirp)) {
> > -                       if(dp->d_name) {
> > -                               if(strcmp(dp->d_name, "..") != 0 &&
> > strcmp(dp->d_name, ".") != 0) {
> > -                                       char name[PATH_MAX];
> > -                                       snprintf(name, PATH_MAX, "%s/%s",
> > path, dp->d_name);
> > -                                       errflag += rmrf(name);
> > -                               }
> > +                       if(strcmp(dp->d_name, "..") != 0 &&
> > strcmp(dp->d_name, ".") != 0) {
> > +                               char name[PATH_MAX];
> > +                               snprintf(name, PATH_MAX, "%s/%s", path,
> > dp->d_name);
> > +                               errflag += rmrf(name);
> >
> 
> I'm failing to see how this one is valid. Please explain? I'm not sure the
> original code is right (we should likely be checking that d_name[0] is !=
> '\0;), but removing the check completely seems heavy-handed.

My reasoning was very simple. I assume that each directory entry MUST
have a filename (that only contains a terminating NULL character) so
checking whether the d_name field of the dirent struct is NULL should
not be necessary.

If I missed a case where the filename can actually be NULL then just
ignore this one.



More information about the pacman-dev mailing list