From: Justin Bronder Date: Tue, 1 Dec 2009 16:13:41 +0000 (-0500) Subject: Fix memory leak in uci_list_config_files X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuci.git;a=commitdiff_plain;h=aa3ab8012bfbf793d2884c08ea924545a04e9544;hp=fa40c4e16644da1f7c87cbd5a25d3fa8be4e0594 Fix memory leak in uci_list_config_files When glob returns non-zero, the path buffer was not unallocated. --- 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++) {