]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Mail sorting: Fixed potential excessive memory usage.
authorTimo Sirainen <tss@iki.fi>
Sun, 28 Jun 2009 02:07:35 +0000 (22:07 -0400)
committerTimo Sirainen <tss@iki.fi>
Sun, 28 Jun 2009 02:07:35 +0000 (22:07 -0400)
--HG--
branch : HEAD

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

index 9f072d0170cf9b394658961000b46625dcdd83b9..e6d08f375761e9391530284518fd702467955cad 100644 (file)
@@ -778,12 +778,12 @@ void index_sort_list_finish_string(struct mail_search_sort_program *program)
                /* fast path: we have all sort IDs */
                array_sort(&ctx->nonzero_nodes, sort_node_cmp);
 
+               nodes = array_get(&ctx->nonzero_nodes, &count);
                if (!array_is_created(&program->seqs))
                        i_array_init(&program->seqs, count);
                else
                        array_clear(&program->seqs);
 
-               nodes = array_get(&ctx->nonzero_nodes, &count);
                for (i = 0; i < count; i++) {
                        seq = nodes[i].seq;
                        array_append(&program->seqs, &seq, 1);