changeset 19522:d1375c5e7c5d

imap: Fixed potential assert-crash with command pipelining. Should fix assert-crash: Panic: file imap-fetch.c: line 554: assertion failed: (ctx->client->output_cmd_lock == NULL || ctx->client->output_cmd_lock == cmd)
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Wed, 16 Dec 2015 15:37:26 +0200
parents 9cdee0911f4f
children 6e6a4b294fbd
files src/imap/imap-client.c
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/imap/imap-client.c	Wed Dec 16 15:26:02 2015 +0200
+++ b/src/imap/imap-client.c	Wed Dec 16 15:37:26 2015 +0200
@@ -1022,7 +1022,9 @@
 
 	if (client->input_lock != NULL) {
 		if (client->input_lock->state ==
-		    CLIENT_COMMAND_STATE_WAIT_UNAMBIGUITY) {
+		    CLIENT_COMMAND_STATE_WAIT_UNAMBIGUITY ||
+		    (client->output_cmd_lock != NULL &&
+		     client->output_cmd_lock != client->input_lock)) {
 			*remove_io_r = TRUE;
 			return FALSE;
 		}