From c54b70fc8fa01ad47b04239a0b7f00bb1fd1e313 Mon Sep 17 00:00:00 2001 From: Stephan Bosch Date: Sun, 29 Mar 2026 20:03:40 +0200 Subject: [PATCH] imap: cmd-append - Fix assertion panic occurring upon invalid 'REPLACE 0' command Panic was: Panic: file mail-cache-lookup.c: line 354 (mail_cache_field_exists): assertion failed: (seq > 0) --- src/imap/cmd-append.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/imap/cmd-append.c b/src/imap/cmd-append.c index cf1ca6cd8e..f5fc0eb666 100644 --- a/src/imap/cmd-append.c +++ b/src/imap/cmd-append.c @@ -1159,7 +1159,8 @@ static bool cmd_append_full(struct client_command_context *cmd, bool replace) ctx->started = ioloop_time; ctx->utf8_accept = (client_enabled_mailbox_features(cmd->client) & MAILBOX_FEATURE_UTF8ACCEPT) != 0; - if (replace && !cmd->uid && (seqnum > client->messages_count)) { + if (replace && !cmd->uid && + (seqnum == 0 || seqnum > client->messages_count)) { client_send_tagline(cmd, "BAD Invalid message sequence."); ctx->failed = TRUE; -- 2.47.3