diff options
author | Robbie Harwood <rharwood@redhat.com> | 2015-11-16 16:58:14 -0500 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2015-11-19 16:08:01 -0500 |
commit | 2fbe920fee0c2ab6836b17bdac84fc5f5ebc49b4 (patch) | |
tree | 4f01bc41e1ae0503343c58821d1d585a64bb5d24 | |
parent | 0ad90967eb23066c1e346579f7476ed3c9d0582d (diff) | |
download | gss-proxy-2fbe920fee0c2ab6836b17bdac84fc5f5ebc49b4.tar.gz gss-proxy-2fbe920fee0c2ab6836b17bdac84fc5f5ebc49b4.tar.xz gss-proxy-2fbe920fee0c2ab6836b17bdac84fc5f5ebc49b4.zip |
Fix several leaks
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
Reviewed-by: Simo Sorce <simo@redhat.com>
-rw-r--r-- | proxy/src/gp_config.c | 4 | ||||
-rw-r--r-- | proxy/src/gp_conv.c | 1 | ||||
-rw-r--r-- | proxy/src/gp_creds.c | 1 | ||||
-rw-r--r-- | proxy/src/gp_rpc_init_sec_context.c | 1 | ||||
-rw-r--r-- | proxy/src/gssproxy.c | 1 |
5 files changed, 8 insertions, 0 deletions
diff --git a/proxy/src/gp_config.c b/proxy/src/gp_config.c index f5a3fab..64c790f 100644 --- a/proxy/src/gp_config.c +++ b/proxy/src/gp_config.c @@ -605,6 +605,7 @@ void free_config(struct gp_config **cfg) } free(config->config_file); + free(config->config_dir); free(config->socket_name); free(config->proxy_user); @@ -720,6 +721,9 @@ static int gp_config_from_dir(const char *config_dir, ini_config_destroy(*ini_config); *ini_config = result_cfg; } + if (error_list) { + ref_array_destroy(error_list); + } return 0; } diff --git a/proxy/src/gp_conv.c b/proxy/src/gp_conv.c index 7711aff..6aa66a8 100644 --- a/proxy/src/gp_conv.c +++ b/proxy/src/gp_conv.c @@ -483,6 +483,7 @@ uint32_t gp_conv_gssx_to_name(uint32_t *min, gssx_name *in, gss_name_t *out) done: *min = ret_min; gss_release_buffer(&ret_min, input_name); + free(input_name); gss_release_oid(&ret_min, &name_type); return ret_maj; } diff --git a/proxy/src/gp_creds.c b/proxy/src/gp_creds.c index 2bf3851..88a0dab 100644 --- a/proxy/src/gp_creds.c +++ b/proxy/src/gp_creds.c @@ -522,6 +522,7 @@ done: gss_release_oid_set(&discard, actual_mechs); } } + free_cred_store_elements(&cred_store); gss_release_cred(&discard, &impersonator_cred); gss_release_cred(&discard, &user_cred); gss_release_name(&discard, &target_name); diff --git a/proxy/src/gp_rpc_init_sec_context.c b/proxy/src/gp_rpc_init_sec_context.c index 8a5b7b0..f006374 100644 --- a/proxy/src/gp_rpc_init_sec_context.c +++ b/proxy/src/gp_rpc_init_sec_context.c @@ -162,5 +162,6 @@ done: gss_release_name(&ret_min, &target_name); gss_release_oid(&ret_min, &mech_type); gss_release_cred(&ret_min, &ich); + gss_release_buffer(&ret_min, &obuf); return ret; } diff --git a/proxy/src/gssproxy.c b/proxy/src/gssproxy.c index 3067fb4..1e99f88 100644 --- a/proxy/src/gssproxy.c +++ b/proxy/src/gssproxy.c @@ -257,6 +257,7 @@ int main(int argc, const char *argv[]) } verto_run(vctx); + verto_free(vctx); gp_workers_free(gpctx->workers); |