summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2014-08-11 12:09:16 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-08-19 15:55:00 +0200
commit6693bd8be70b081f0e8a6876914bb43484c17552 (patch)
treed0fc653e1555a1359c3705ab9be9b4551ca76220
parent86a2c33bdc84d486039279dd7bf4dbfcc41556c8 (diff)
downloadsssd-6693bd8be70b081f0e8a6876914bb43484c17552.tar.gz
sssd-6693bd8be70b081f0e8a6876914bb43484c17552.tar.xz
sssd-6693bd8be70b081f0e8a6876914bb43484c17552.zip
sudo: work with correct D-Bus iterator
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> (cherry picked from commit a8e9aedbf7f6ada4e9f505da5fad8a61e4066684)
-rw-r--r--src/providers/data_provider_be.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/providers/data_provider_be.c b/src/providers/data_provider_be.c
index 1ba32dfb7..3dd635f28 100644
--- a/src/providers/data_provider_be.c
+++ b/src/providers/data_provider_be.c
@@ -1572,14 +1572,15 @@ static int be_sudo_handler(struct sbus_request *dbus_req, void *user_data)
/* read the rules */
for (i = 0; i < rules_num; i++) {
- if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) {
+ if (dbus_message_iter_get_arg_type(&array_iter)
+ != DBUS_TYPE_STRING) {
DEBUG(SSSDBG_CRIT_FAILURE, "Failed, to parse the message!\n");
ret = EIO;
err_msg = "Invalid D-Bus message format";
goto fail;
}
- dbus_message_iter_get_basic(&iter, &rule);
+ dbus_message_iter_get_basic(&array_iter, &rule);
sudo_req->rules[i] = talloc_strdup(sudo_req->rules, rule);
if (sudo_req->rules[i] == NULL) {
DEBUG(SSSDBG_CRIT_FAILURE, "talloc_strdup failed.\n");
@@ -1587,7 +1588,7 @@ static int be_sudo_handler(struct sbus_request *dbus_req, void *user_data)
goto fail;
}
- dbus_message_iter_next(&iter);
+ dbus_message_iter_next(&array_iter);
}
sudo_req->rules[rules_num] = NULL;