X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=dir.c;h=225fdfb52c432b7af1af1cdf9aa9a31f8022e3ec;hb=694a577519a762d12b8a53e76b6f1dd3ccf25e7d;hp=fa9f9021eafef09ddeaf61f21d577b7c53fa346a;hpb=039bc64e886716593d59910694a6c8ed5b72c515;p=git.git diff --git a/dir.c b/dir.c index fa9f9021e..225fdfb52 100644 --- a/dir.c +++ b/dir.c @@ -654,6 +654,7 @@ static void free_simplify(struct path_simplify *simplify) int read_directory(struct dir_struct *dir, const char *path, const char *base, int baselen, const char **pathspec) { struct path_simplify *simplify = create_simplify(pathspec); + char *pp = NULL; /* * Make sure to do the per-directory exclude for all the @@ -661,7 +662,8 @@ int read_directory(struct dir_struct *dir, const char *path, const char *base, i */ if (baselen) { if (dir->exclude_per_dir) { - char *p, *pp = xmalloc(baselen+1); + char *p; + pp = xmalloc(baselen+1); memcpy(pp, base, baselen+1); p = pp; while (1) { @@ -677,12 +679,12 @@ int read_directory(struct dir_struct *dir, const char *path, const char *base, i else p = pp + baselen; } - free(pp); } } read_directory_recursive(dir, path, base, baselen, 0, simplify); free_simplify(simplify); + free(pp); qsort(dir->entries, dir->nr, sizeof(struct dir_entry *), cmp_name); qsort(dir->ignored, dir->ignored_nr, sizeof(struct dir_entry *), cmp_name); return dir->nr;