diff options
author | Günther Deschner <gdeschner@redhat.com> | 2013-04-12 13:53:02 +0200 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2013-04-23 12:01:55 -0700 |
commit | 11d93370415910dcbc437c13d3040232c9bd409c (patch) | |
tree | fc72e2b659bea86f351a75026b02eaee5d2f96d8 | |
parent | 40c60f6b1d7d38290cddaaffd7bc34849721014c (diff) | |
download | gss-proxy-11d93370415910dcbc437c13d3040232c9bd409c.tar.gz gss-proxy-11d93370415910dcbc437c13d3040232c9bd409c.tar.xz gss-proxy-11d93370415910dcbc437c13d3040232c9bd409c.zip |
Fix potential double-frees in load_services().
Signed-off-by: Günther Deschner <gdeschner@redhat.com>
Reviewed-by: Simo Sorce <simo@redhat.com>
-rw-r--r-- | proxy/src/gp_config.c | 11 |
1 files changed, 5 insertions, 6 deletions
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; } |