]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: ldap - Fix crash if users are iterated, but userdb_ldap_iterate_fields is not set
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 6 Nov 2025 12:52:37 +0000 (14:52 +0200)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Thu, 13 Nov 2025 22:50:48 +0000 (22:50 +0000)
src/auth/userdb-ldap.c

index 7d6d2bc38accc8875936bc9a9476a3660c13344a..7aad2db74fac66dce251a7aee95f793dd4811bc0 100644 (file)
@@ -201,8 +201,11 @@ static void userdb_ldap_iterate_callback(struct ldap_connection *conn,
                         &set, &error) < 0) {
                e_error(event, "%s", error);
                ctx->ctx.failed = TRUE;
-       }
-       else {
+       } else if (!array_is_created(&set->iterate_fields)) {
+               e_error(event, "iterate: No userdb_ldap_iterate_fields specified");
+               ctx->ctx.failed = TRUE;
+               settings_free(set);
+       } else {
                unsigned int count;
                const char *const *items = array_get(&set->iterate_fields, &count);
                for (unsigned int ndx = 0; ndx < count - 1;) {