summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2015-05-25 10:20:39 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-06-19 14:09:45 +0200
commit757b76fbd23ce700b0f8065c91d685dbd07f1cb8 (patch)
tree6defeb0e87c32e2cf6fb932cd54c97b07f3e5da6
parent0a7aebf3d35a2ebed743d92f14f0b098a3220f82 (diff)
downloadsssd-757b76fbd23ce700b0f8065c91d685dbd07f1cb8.tar.gz
sssd-757b76fbd23ce700b0f8065c91d685dbd07f1cb8.tar.xz
sssd-757b76fbd23ce700b0f8065c91d685dbd07f1cb8.zip
DP: Set extra_value to NULL for enum requests
Some providers, notably IPA, rely on extra_value to be either a useful value or NULL. In enumeration, however, extra_value was random. Set the extra_value pointer explicitly to NULL to make it clear that it's not used for enumeration and also use talloc_zero as future-proof. Resolves: https://fedorahosted.org/sssd/ticket/2659 Reviewed-by: Sumit Bose <sbose@redhat.com> (cherry picked from commit d9296ba018228ac6a19f710b8bb9044c4ea9ab5b) (cherry picked from commit 2dfb4ed5a36a7be6bcde60e042811b81e83c4850)
-rw-r--r--src/providers/data_provider_be.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/providers/data_provider_be.c b/src/providers/data_provider_be.c
index 3dd635f28..b9bdc0a82 100644
--- a/src/providers/data_provider_be.c
+++ b/src/providers/data_provider_be.c
@@ -1138,7 +1138,7 @@ static int be_get_account_info(struct sbus_request *dbus_req, void *user_data)
goto done;
}
- req = talloc(be_req, struct be_acct_req);
+ req = talloc_zero(be_req, struct be_acct_req);
if (!req) {
err_maj = DP_ERR_FATAL;
err_min = ENOMEM;
@@ -1185,6 +1185,7 @@ static int be_get_account_info(struct sbus_request *dbus_req, void *user_data)
} else if (strcmp(filter, ENUM_INDICATOR) == 0) {
req->filter_type = BE_FILTER_ENUM;
req->filter_value = NULL;
+ req->extra_value = NULL;
} else {
err_maj = DP_ERR_FATAL;
err_min = EINVAL;