From 11d93370415910dcbc437c13d3040232c9bd409c Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Fri, 12 Apr 2013 13:53:02 +0200 Subject: Fix potential double-frees in load_services(). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Günther Deschner Reviewed-by: Simo Sorce --- proxy/src/gp_config.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'proxy') diff --git a/proxy/src/gp_config.c b/proxy/src/gp_config.c index c2919a8..e5cfb16 100644 --- a/proxy/src/gp_config.c +++ b/proxy/src/gp_config.c @@ -155,7 +155,7 @@ static int load_services(struct gp_config *cfg, struct gp_ini_context *ctx) GPDEBUG("Euid missing from [%s], ignoring.\n", secname); gp_service_free(cfg->svcs[n]); cfg->num_svcs--; - free(secname); + safefree(secname); continue; } cfg->svcs[n]->euid = valnum; @@ -185,7 +185,7 @@ static int load_services(struct gp_config *cfg, struct gp_ini_context *ctx) GPDEBUG("Mechs missing from [%s], ignoring.\n", secname); gp_service_free(cfg->svcs[n]); cfg->num_svcs--; - free(secname); + safefree(secname); continue; } @@ -213,11 +213,10 @@ static int load_services(struct gp_config *cfg, struct gp_ini_context *ctx) GPDEBUG("No mechs found for [%s], ignoring.\n", secname); gp_service_free(cfg->svcs[n]); cfg->num_svcs--; - free(secname); + safefree(secname); continue; } - free(secname); - secname = NULL; + safefree(secname); } } @@ -229,7 +228,7 @@ static int load_services(struct gp_config *cfg, struct gp_ini_context *ctx) ret = 0; done: - free(secname); + safefree(secname); return ret; } -- cgit