From 58fbd51ef485f6447ae1a0624f7b5518be9e4e88 Mon Sep 17 00:00:00 2001 From: "David F. Skoll" Date: Mon, 24 Mar 2008 23:12:27 -0400 Subject: [PATCH] Call globfree to free memory used by glob. --- src/files.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/files.c b/src/files.c index 9fc96696..6cda96a8 100644 --- a/src/files.c +++ b/src/files.c @@ -527,10 +527,12 @@ static int SetupGlobChain(char const *dirname, IncludeStruct *i) DBufFree(&pattern); if (r == GLOB_NOMATCH) { + globfree(&glob_buf); return OK; } if (r != 0) { + globfree(&glob_buf); return -1; } @@ -538,6 +540,7 @@ static int SetupGlobChain(char const *dirname, IncludeStruct *i) for (r=glob_buf.gl_pathc-1; r>=0; r--) { FilenameChain *ch = malloc(sizeof(FilenameChain)); if (!ch) { + globfree(&glob_buf); FreeChain(i->chain); i->chain = NULL; return E_NO_MEM; @@ -547,6 +550,7 @@ static int SetupGlobChain(char const *dirname, IncludeStruct *i) readable by us */ ch->filename = StrDup(glob_buf.gl_pathv[r]); if (!ch->filename) { + globfree(&glob_buf); FreeChain(i->chain); i->chain = NULL; free(ch); @@ -559,6 +563,7 @@ static int SetupGlobChain(char const *dirname, IncludeStruct *i) dc->chain = i->chain; } + globfree(&glob_buf); return OK; } #endif