]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Avoid unsigned integer overflows.
authorTimo Sirainen <tss@iki.fi>
Sun, 24 Feb 2013 13:00:13 +0000 (15:00 +0200)
committerTimo Sirainen <tss@iki.fi>
Sun, 24 Feb 2013 13:00:13 +0000 (15:00 +0200)
src/imap/imap-commands-util.c
src/lib-index/mail-index-util.c

index c389d6e9dda8f37df2760626b55a40fba41053e8..5f4ef3ebfbc28b566b5dd6811bd7fba146af301b 100644 (file)
@@ -326,7 +326,9 @@ void msgset_generator_init(struct msgset_generator_context *ctx, string_t *str)
 
 void msgset_generator_next(struct msgset_generator_context *ctx, uint32_t uid)
 {
-       if (uid != ctx->last_uid+1) {
+       i_assert(uid > 0);
+
+       if (uid-1 != ctx->last_uid) {
                if (ctx->first_uid == 0)
                        ;
                else if (ctx->first_uid == ctx->last_uid)
index f34b7dc3b65ad368a9117f5cc2f69257e92d2224..5ba94a0d664c748cbfe13ea311e52fe57d4e0554 100644 (file)
@@ -106,7 +106,7 @@ int mail_index_unpack_num(const uint8_t **p, const uint8_t *end,
 static int mail_index_seq_record_cmp(const uint32_t *key_seq,
                                     const uint32_t *data_seq)
 {
-       return *key_seq - *data_seq;
+       return (int)*key_seq - (int)*data_seq;
 }
 
 bool mail_index_seq_array_lookup(const ARRAY_TYPE(seq_array) *array,