If client sent some commands pipelined, followed by a command with too long
line, the previous commands' tagged replies weren't sent. This caused it to
hang until more input was received. After that it crashed.
Fixes:
Panic: file imap-client.c: line 1098 (client_check_command_hangs): assertion failed: (!have_wait_unfinished || unfinished_count > 0)
cmd->param_error = TRUE;
client_send_command_error(cmd, "Too long argument.");
client_command_free(&cmd);
+
+ /* We may have delayed syncing previous commands to handle this
+ one. Do it now to avoid hanging. */
+ (void)cmd_sync_delayed(client);
}
o_stream_uncork(output);
o_stream_unref(&output);