From 47d0eb8722aeaff8b3a9b229ad58a4f46add0754 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Fri, 14 Apr 2006 16:35:41 +0000 Subject: (fts_open): Don't allocate parent if *argv==NULL. Patch from glibc. --- lib/fts.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/fts.c b/lib/fts.c index e9896cdf8..2f017be54 100644 --- a/lib/fts.c +++ b/lib/fts.c @@ -273,7 +273,8 @@ fts_open (char * const *argv, register FTS *sp; register FTSENT *p, *root; register size_t nitems; - FTSENT *parent, *tmp = NULL; /* pacify gcc */ + FTSENT *parent = NULL; + FTSENT *tmp = NULL; /* pacify gcc */ size_t len; /* Options check. */ @@ -341,9 +342,11 @@ fts_open (char * const *argv, } /* Allocate/initialize root's parent. */ - if ((parent = fts_alloc(sp, "", 0)) == NULL) - goto mem2; - parent->fts_level = FTS_ROOTPARENTLEVEL; + if (*argv != NULL) { + if ((parent = fts_alloc(sp, "", 0)) == NULL) + goto mem2; + parent->fts_level = FTS_ROOTPARENTLEVEL; + } /* Allocate/initialize root(s). */ for (root = NULL, nitems = 0; *argv != NULL; ++argv, ++nitems) { -- cgit v1.2.3-70-g09d2