]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
mail-log: If saved uid isn't available, log an error instead of crashing.
authorTimo Sirainen <tss@iki.fi>
Fri, 4 Jun 2010 14:51:47 +0000 (15:51 +0100)
committerTimo Sirainen <tss@iki.fi>
Fri, 4 Jun 2010 14:51:47 +0000 (15:51 +0100)
This shouldn't happen, except when saving to virtual mailbox.

--HG--
branch : HEAD

src/plugins/mail-log/mail-log-plugin.c

index 87af8f7b6c1d00de0087bc83fa7aae28efbf5006..e9255d40b4ebd2ca6fe65befde28f4d9f4b29341 100644 (file)
@@ -358,16 +358,16 @@ mail_log_mail_transaction_commit(void *txn,
        struct seq_range_iter iter;
        unsigned int n = 0;
        uint32_t uid;
-       bool ret;
 
        seq_range_array_iter_init(&iter, &changes->saved_uids);
        for (msg = ctx->messages; msg != NULL; msg = msg->next) {
                if (msg->pretext == NULL) {
                        i_info("%s", msg->text);
                } else {
-                       ret = seq_range_array_iter_nth(&iter, n++, &uid);
-                       i_assert(ret);
-                       i_info("%s%u%s", msg->pretext, uid, msg->text);
+                       if (seq_range_array_iter_nth(&iter, n++, &uid))
+                               i_info("%s%u%s", msg->pretext, uid, msg->text);
+                       else
+                               i_info("%serror%s", msg->pretext, msg->text);
                }
        }
        i_assert(!seq_range_array_iter_nth(&iter, n, &uid));