]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Sort indexes: Don't assert-crash with broken sort IDs.
authorTimo Sirainen <tss@iki.fi>
Sat, 13 Sep 2008 08:56:16 +0000 (11:56 +0300)
committerTimo Sirainen <tss@iki.fi>
Sat, 13 Sep 2008 08:56:16 +0000 (11:56 +0300)
--HG--
branch : HEAD

src/lib-storage/index/index-sort-string.c

index 17a839e592a161eb5792292f44d591ff00bdeb19..775b7389c0f7e51fc130a028a14abe38b48647ec 100644 (file)
@@ -607,7 +607,11 @@ index_sort_add_ids_range(struct sort_string_context *ctx,
                           messages */
                        skip = (right_sort_id - left_sort_id) /
                                (right_idx - i + 2);
-                       i_assert(skip > 0);
+                       if (skip == 0) {
+                               /* broken sort IDs (we previously assigned
+                                  left_sort_id=right_sort_id) */
+                               return -1;
+                       }
                        left_sort_id += skip;
                        i_assert(left_sort_id < right_sort_id);