Fixed a potential memory leak in make_file().
authorWayne Davison <wayned@samba.org>
Sat, 15 Dec 2007 19:57:34 +0000 (11:57 -0800)
committerWayne Davison <wayned@samba.org>
Sat, 15 Dec 2007 19:57:34 +0000 (11:57 -0800)
flist.c

diff --git a/flist.c b/flist.c
index 732c242..cc7a873 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -1231,8 +1231,11 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
                        file->mode = save_mode;
        }
 
                        file->mode = save_mode;
        }
 
-       if (basename_len == 0+1)
+       if (basename_len == 0+1) {
+               if (!pool)
+                       unmake_file(file);
                return NULL;
                return NULL;
+       }
 
        if (unsort_ndx)
                F_NDX(file) = dir_count;
 
        if (unsort_ndx)
                F_NDX(file) = dir_count;