From aa3ab8012bfbf793d2884c08ea924545a04e9544 Mon Sep 17 00:00:00 2001 From: Justin Bronder Date: Tue, 1 Dec 2009 11:13:41 -0500 Subject: [PATCH] Fix memory leak in uci_list_config_files When glob returns non-zero, the path buffer was not unallocated. --- file.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/file.c b/file.c index 6b41d68..c6a3095 100644 --- a/file.c +++ b/file.c @@ -494,8 +494,10 @@ static char **uci_list_config_files(struct uci_context *ctx) dir = uci_malloc(ctx, strlen(ctx->confdir) + 1 + sizeof("/*")); sprintf(dir, "%s/*", ctx->confdir); - if (glob(dir, GLOB_MARK, NULL, &globbuf) != 0) + if (glob(dir, GLOB_MARK, NULL, &globbuf) != 0) { + free(dir); UCI_THROW(ctx, UCI_ERR_NOTFOUND); + } size = sizeof(char *) * (globbuf.gl_pathc + 1); for(i = 0; i < globbuf.gl_pathc; i++) { -- 2.11.0