Hello, please see simple patch set fixing minor memory leaks of providers. I'm not aware of any user hitting those currently.
Thanks!
>From ef62f0245cde314fd11b1cd2584589e018ede050 Mon Sep 17 00:00:00 2001 From: Pavel Reichl <prei...@redhat.com> Date: Fri, 4 Sep 2015 07:02:42 -0400 Subject: [PATCH 1/4] AD: fix minor memory leak --- src/providers/ad/ad_common.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/providers/ad/ad_common.c b/src/providers/ad/ad_common.c index 130cdeb613aae3843f7453a478815daaae6aab77..aca550581708e6501c99f1c69e3c5ec9303d3b8c 100644 --- a/src/providers/ad/ad_common.c +++ b/src/providers/ad/ad_common.c @@ -658,7 +658,7 @@ ad_failover_init(TALLOC_CTX *mem_ctx, struct be_ctx *bectx, TALLOC_CTX *tmp_ctx; struct ad_service *service; - tmp_ctx = talloc_new(mem_ctx); + tmp_ctx = talloc_new(NULL); if (!tmp_ctx) return ENOMEM; service = talloc_zero(tmp_ctx, struct ad_service); @@ -745,7 +745,7 @@ ad_failover_init(TALLOC_CTX *mem_ctx, struct be_ctx *bectx, ret = be_add_online_cb(bectx, bectx, ad_online_cb, service, NULL); if (ret != EOK) { DEBUG(SSSDBG_CRIT_FAILURE, "Could not set up AD online callback\n"); - return ret; + goto done; } ret = be_fo_service_add_callback(mem_ctx, bectx, ad_service, @@ -797,7 +797,8 @@ ad_resolve_callback(void *private_data, struct fo_server *server) sdata = fo_get_server_user_data(server); if (fo_is_srv_lookup(server) == false && sdata == NULL) { DEBUG(SSSDBG_CRIT_FAILURE, "No user data?\n"); - return; + ret = EINVAL; + goto done; } service = talloc_get_type(private_data, struct ad_service); -- 2.4.3
>From 7533dde984c08c0580b924c0f480e6fd17c34395 Mon Sep 17 00:00:00 2001 From: Pavel Reichl <prei...@redhat.com> Date: Fri, 4 Sep 2015 07:03:45 -0400 Subject: [PATCH 2/4] IPA: fix minor memory leak --- src/providers/ipa/ipa_hbac_rules.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/providers/ipa/ipa_hbac_rules.c b/src/providers/ipa/ipa_hbac_rules.c index ffef6dc4ce4229f2063d1b00308892bd3765f398..6ce1f76bb656352ec61332007a6fb62568374203 100644 --- a/src/providers/ipa/ipa_hbac_rules.c +++ b/src/providers/ipa/ipa_hbac_rules.c @@ -86,7 +86,7 @@ ipa_hbac_rule_info_send(TALLOC_CTX *mem_ctx, req = tevent_req_create(mem_ctx, &state, struct ipa_hbac_rule_state); if (req == NULL) { DEBUG(SSSDBG_CRIT_FAILURE, "tevent_req_create failed.\n"); - return NULL; + goto error; } state->ev = ev; -- 2.4.3
>From 26433a65fef11bc40bb7e5bed1e9acd9e2adbdcf Mon Sep 17 00:00:00 2001 From: Pavel Reichl <prei...@redhat.com> Date: Fri, 4 Sep 2015 07:04:10 -0400 Subject: [PATCH 3/4] SDAP: fix minor memory leak --- src/providers/ldap/sdap_async_groups.c | 2 +- src/providers/ldap/sdap_idmap.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/providers/ldap/sdap_async_groups.c b/src/providers/ldap/sdap_async_groups.c index 525c6fa09553d8c0232ce2317751184f83632d86..52487e3cbc6c67c41966cd6a3665c53d30cd4055 100644 --- a/src/providers/ldap/sdap_async_groups.c +++ b/src/providers/ldap/sdap_async_groups.c @@ -592,7 +592,7 @@ static int sdap_save_group(TALLOC_CTX *memctx, if (ret != EOK) { DEBUG(SSSDBG_OP_FAILURE, "Error: Failed to mark group as non-posix!\n"); - return ret; + goto done; } } diff --git a/src/providers/ldap/sdap_idmap.c b/src/providers/ldap/sdap_idmap.c index dd959b2c133b342f105f76c26c889d678ce40391..36d529836eb7e4becd27721df15cfbccf035ae3b 100644 --- a/src/providers/ldap/sdap_idmap.c +++ b/src/providers/ldap/sdap_idmap.c @@ -206,7 +206,8 @@ sdap_idmap_init(TALLOC_CTX *mem_ctx, if (err != IDMAP_SUCCESS) { /* This should never happen */ DEBUG(SSSDBG_CRIT_FAILURE, "sss_idmap_ctx corrupted\n"); - return EIO; + ret = EIO; + goto done; } -- 2.4.3
>From 4227817656ce966ecf82fd120f83b623cf31ea7a Mon Sep 17 00:00:00 2001 From: Pavel Reichl <prei...@redhat.com> Date: Fri, 4 Sep 2015 07:04:40 -0400 Subject: [PATCH 4/4] PROXY: fix minor memory leak --- src/providers/proxy/proxy_services.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/providers/proxy/proxy_services.c b/src/providers/proxy/proxy_services.c index 2aa44dbf7f061b99a551b199d0265393e5399a06..ee545cedc9f8dc36981eb3190ff16763e1da390f 100644 --- a/src/providers/proxy/proxy_services.c +++ b/src/providers/proxy/proxy_services.c @@ -130,7 +130,7 @@ get_serv_byname(struct proxy_id_ctx *ctx, if (status != NSS_STATUS_SUCCESS && status != NSS_STATUS_NOTFOUND) { DEBUG(SSSDBG_MINOR_FAILURE, "getservbyname_r failed for service [%s].\n", name); - return ret; + goto done; } if (status == NSS_STATUS_NOTFOUND) { @@ -183,7 +183,7 @@ get_serv_byport(struct proxy_id_ctx *ctx, if (status != NSS_STATUS_SUCCESS && status != NSS_STATUS_NOTFOUND) { DEBUG(SSSDBG_MINOR_FAILURE, "getservbyport_r failed for service [%s].\n", be_filter); - return ret; + goto done; } if (status == NSS_STATUS_NOTFOUND) { -- 2.4.3
_______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/sssd-devel