dtfile/dtcopy/dosync: CID 89374
authorJon Trulson <jon@radscan.com>
Wed, 11 Apr 2018 22:04:16 +0000 (16:04 -0600)
committerJon Trulson <jon@radscan.com>
Wed, 11 Apr 2018 22:25:52 +0000 (16:25 -0600)
cde/programs/dtfile/dtcopy/dosync.c

index bc3dd8bbc8b3eb3ad9ca050adf6dff1e34bd034b..a66404d19dee1761d72314e8c156608cbad33ef1 100644 (file)
@@ -299,7 +299,7 @@ GetDirEntry(char *fname, FileOp *op, int *rc)
 static int
 GetDir(char *dirname, PatternList *xl, PatternList *sl, DirEntry **listPP)
 {
-  DIR *dirP;                      /* open directory */
+  DIR *dirP = NULL;                      /* open directory */
   struct dirent *entryP;          /* directory entry */
   DirEntry *deP, *firstP, **linkPP;
   char fname[1024], *fnP;
@@ -345,6 +345,7 @@ GetDir(char *dirname, PatternList *xl, PatternList *sl, DirEntry **listPP)
 
     /* if error occurred, call error callback function */
     if (rc != 0 && syncErrorCallback && syncErrorCallback(op, fname, rc) < 0) {
+      closedir(dirP);
       FreeDir(firstP);
       return -1;
     }