From bbb600e46ca650a3a5ef812ea3a1e8c45a6ea0ba Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Fri, 4 Aug 2023 00:31:30 +0300 Subject: [PATCH] auth: db-ldap - Fix deleting wrong LDAP request when ldap_search() or ldap_bind() failed This mainly means that if an invalid LDAP filter was used, wrong request could have become deleted. Fixes: Error: ldap(...): Reply with unknown msgid 2 Panic: file db-ldap.c: line 1343 (db_ldap_conn_close): assertion failed: (request->msgid != -1) --- src/auth/db-ldap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/auth/db-ldap.c b/src/auth/db-ldap.c index b3f6d27cff..2f9f93b235 100644 --- a/src/auth/db-ldap.c +++ b/src/auth/db-ldap.c @@ -433,7 +433,7 @@ static bool db_ldap_request_queue_next(struct ldap_connection *conn) return FALSE; } else { /* broken request, remove from queue */ - aqueue_delete_tail(conn->request_queue); + aqueue_delete(conn->request_queue, conn->pending_count); request->callback(conn, request, NULL); return TRUE; } -- 2.47.3