diff options
author | Pavel Březina <pbrezina@redhat.com> | 2014-08-11 12:09:16 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-08-19 13:48:29 +0200 |
commit | fd7ff2baca95403bac19091b4a19c6ca2d91bb77 (patch) | |
tree | 51a09930a2477681acc72289e75b6b2564881366 /src | |
parent | 3fa31631d74d09ce6b52b6b8cd3c994c9f2a2db4 (diff) | |
download | sssd-fd7ff2baca95403bac19091b4a19c6ca2d91bb77.tar.gz sssd-fd7ff2baca95403bac19091b4a19c6ca2d91bb77.tar.xz sssd-fd7ff2baca95403bac19091b4a19c6ca2d91bb77.zip |
sudo: work with correct D-Bus iterator
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
(cherry picked from commit a8e9aedbf7f6ada4e9f505da5fad8a61e4066684)
Diffstat (limited to 'src')
-rw-r--r-- | src/providers/data_provider_be.c | 7 |
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; |