diff --git a/src/providers/ipa/ipa_sudo_conversion.c
b/src/providers/ipa/ipa_sudo_conversion.c
index 87f6462..5bba714 100644
--- a/src/providers/ipa/ipa_sudo_conversion.c
+++ b/src/providers/ipa/ipa_sudo_conversion.c
@@ -585,6 +585,7 @@ build_filter(TALLOC_CTX *mem_ctx,
filter = talloc_strdup(tmp_ctx, "");
if (filter == NULL) {
+ ret = ENOMEM;
goto done;
}
There is still
diff --git a/src/providers/ipa/ipa_sudo_conversion.c
b/src/providers/ipa/ipa_sudo_conversion.c
index 87f6462..88ae36e 100644
--- a/src/providers/ipa/ipa_sudo_conversion.c
+++ b/src/providers/ipa/ipa_sudo_conversion.c
@@ -601,7 +601,7 @@ build_filter(TALLOC_CTX *mem_ctx,
if (ret != EOK) {
DEBUG(SSSDBG_CRIT_FAILURE, "Unable to sanitize DN "
"[%d]: %s\n", ret, sss_strerror(ret));
- return NULL;
+ goto done;
}
filter = talloc_asprintf_append(filter, "(%s=%s)", rdn_attr,
safe_rdn);
missing, otherwise memory allocated on tmp_ctx will leak.
bye,
Sumit