]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: userdb sql - Fail if iterate_query is not set
authorAki Tuomi <aki.tuomi@open-xchange.com>
Thu, 16 Jan 2025 13:39:34 +0000 (15:39 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:40:02 +0000 (10:40 +0200)
Otherwise we end up with panic.

src/auth/userdb-sql.c

index 576076044d617842b8d9d2b98fdcfad7a3f85b1a..c508193392937b77b7986ac7002d7ad56c95ed9d 100644 (file)
@@ -187,8 +187,14 @@ userdb_sql_iterate_init(struct auth_request *auth_request,
                return &ctx->ctx;
        }
 
-       sql_query(module->db, set->iterate_query, sql_iter_query_callback, ctx);
-       e_debug(authdb_event(auth_request), "%s", set->iterate_query);
+       if (*set->iterate_query == '\0') {
+               e_error(authdb_event(auth_request), "User iteration failed: "
+                       "userdb_sql_iterate_query is empty");
+               ctx->ctx.failed = TRUE;
+       } else {
+               sql_query(module->db, set->iterate_query, sql_iter_query_callback, ctx);
+               e_debug(authdb_event(auth_request), "%s", set->iterate_query);
+       }
        settings_free(set);
        return &ctx->ctx;
 }