summaryrefslogtreecommitdiff
path: root/dir.c
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2015-12-27 08:54:34 +0700
committerJunio C Hamano <gitster@pobox.com>2015-12-28 12:48:27 -0800
commit2653a8c6fa0466828061a3132421cf13a5d6d924 (patch)
tree5b7a8f162f290b1d9272f5119060c70e5ec31929 /dir.c
parent441c4a40173fe1ee8a5c0094e587dfc47e2a6460 (diff)
downloadgit-2653a8c6fa0466828061a3132421cf13a5d6d924.tar.gz
dir.c: clean the entire struct in clear_exclude_list()nd/dir-exclude-cleanup
Make sure "el" can be reuseable again. The problem was el->alloc is not cleared and may cause segfaults next time because add_exclude() thinks el->excludes (being NULL) has enough space. Just clear the entire struct to be safe. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'dir.c')
-rw-r--r--dir.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/dir.c b/dir.c
index 3f7a0256b6..736ff2ac11 100644
--- a/dir.c
+++ b/dir.c
@@ -501,9 +501,7 @@ void clear_exclude_list(struct exclude_list *el)
free(el->excludes);
free(el->filebuf);
- el->nr = 0;
- el->excludes = NULL;
- el->filebuf = NULL;
+ memset(el, 0, sizeof(*el));
}
static void trim_trailing_spaces(char *buf)