]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
global: Add explicit casts where needed
authorAki Tuomi <aki.tuomi@open-xchange.com>
Tue, 1 Sep 2020 06:44:04 +0000 (09:44 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 22 Oct 2020 12:16:16 +0000 (12:16 +0000)
Squash implicit conversion complains from sanitizer.

src/auth/crypt-blowfish.c
src/lib-index/mail-index-sync-keywords.c
src/lib-index/mail-index-sync-update.c
src/lib-lua/dlua-dovecot.c
src/lib-master/master-service.c
src/lib-storage/index/mbox/mbox-sync-rewrite.c
src/lib-storage/index/mbox/mbox-sync-update.c
src/lib-storage/index/mbox/mbox-sync.c
src/lib/test-array.c
src/lib/test-failures.c
src/lib/test-unichar.c

index ee9431796947090d17195fcf5e3a5718f889a9e0..afb2841b0737f01c32bf8ccc76aacdc3dc592b9c 100644 (file)
@@ -587,7 +587,7 @@ static void BF_set_key(const char *key, BF_key expanded, BF_key initial,
                        tmp[0] <<= 8;
                        tmp[0] |= (unsigned char)*ptr; /* correct */
                        tmp[1] <<= 8;
-                       tmp[1] |= (BF_word_signed)(signed char)*ptr; /* bug */
+                       tmp[1] |= (BF_word)(signed char)*ptr; /* bug */
 /*
  * Sign extension in the first char has no effect - nothing to overwrite yet,
  * and those extra 24 bits will be fully shifted out of the 32-bit word.  For
index a93fc55275cc2ae1888cc601bc657283404bc3ee..51e181beae4805729e306fdced7ec84f84acd934 100644 (file)
@@ -236,7 +236,7 @@ keywords_update_records(struct mail_index_sync_map_ctx *ctx,
                }
                break;
        case MODIFY_REMOVE:
-               data_mask = ~data_mask;
+               data_mask = (unsigned char)~data_mask;
                for (; seq1 <= seq2; seq1++) {
                        rec = MAIL_INDEX_REC_AT_SEQ(view->map, seq1);
                        data = PTR_OFFSET(rec, data_offset);
index 007cfb4bb6f7cd925be7a4629205e3f2f6b08bbf..7704a4c5b389b7f8b0a62d4e84995eeaaef933f8 100644 (file)
@@ -448,7 +448,7 @@ static int sync_flag_update(const struct mail_transaction_flag_update *u,
            (view->index->flags & MAIL_INDEX_OPEN_FLAG_NO_DIRTY) == 0)
                view->map->hdr.flags |= MAIL_INDEX_HDR_FLAG_HAVE_DIRTY;
 
-        flag_mask = ~u->remove_flags;
+        flag_mask = (unsigned char)~u->remove_flags;
 
        if (((u->add_flags | u->remove_flags) &
             (MAIL_SEEN | MAIL_DELETED)) == 0) {
index 4364d018b420a9df2cf22bbf86e3c1a77a9f7861..f8302a2ef3fd085f2f83fa2ff419522116c16928 100644 (file)
@@ -598,7 +598,7 @@ static int dlua_clear_flag(lua_State *L)
        lua_Integer value = luaL_checkinteger(script->L, 1);
        lua_Integer flag = luaL_checkinteger(script->L, 2);
 
-       lua_pushinteger(script->L, value & (~flag));
+       lua_pushinteger(script->L, value & (lua_Integer)~flag);
        return 1;
 }
 
index 899dd2e8a95d2e40ced59e886cb227b430d29a87..1dfcde0ef27ff4e6fdda6ebce15b26841f7533d4 100644 (file)
@@ -1284,7 +1284,7 @@ master_status_send(struct master_service *service, bool important_update)
 
        ret = write(MASTER_STATUS_FD, &service->master_status,
                    sizeof(service->master_status));
-       if (ret == sizeof(service->master_status)) {
+       if (ret == (ssize_t)sizeof(service->master_status)) {
                /* success */
                io_remove(&service->io_status_write);
                service->last_sent_status_time = ioloop_time;
index 78180eb1b98cf112dabcd6f3a5e77f47882bea3c..96b0100480d7d6842fe5efc0f584c3722ba2ebec 100644 (file)
@@ -309,7 +309,7 @@ int mbox_sync_try_rewrite(struct mbox_sync_mail_context *ctx, off_t move_diff)
        if (pwrite_full(sync_ctx->write_fd,
                        str_data(ctx->header) + ctx->header_first_change,
                        str_len(ctx->header) - ctx->header_first_change,
-                       ctx->hdr_offset + ctx->header_first_change +
+                       (off_t)ctx->hdr_offset + (off_t)ctx->header_first_change +
                        move_diff) < 0) {
                mbox_set_syscall_error(sync_ctx->mbox, "pwrite_full()");
                return -1;
@@ -319,7 +319,7 @@ int mbox_sync_try_rewrite(struct mbox_sync_mail_context *ctx, off_t move_diff)
            (ctx->imapbase_updated || ctx->sync_ctx->base_uid_last != 0)) {
                /* the position might have moved as a result of moving
                   whitespace */
-               mbox_sync_first_mail_written(ctx, ctx->hdr_offset + move_diff);
+               mbox_sync_first_mail_written(ctx, (off_t)ctx->hdr_offset + move_diff);
        }
 
        mbox_sync_file_updated(sync_ctx, FALSE);
@@ -540,8 +540,8 @@ int mbox_sync_rewrite(struct mbox_sync_context *sync_ctx,
                        /* give the rest of the extra space to first mail.
                           we might also have to move the mail backwards to
                           fill the expunged space */
-                       padding_per_mail = move_diff + expunged_space +
-                               mails[idx].space;
+                       padding_per_mail = move_diff + (off_t)expunged_space +
+                               (off_t)mails[idx].space;
                }
 
                next_end_offset = mails[idx].offset;
index 762c5244fa694a4389fc9fbf2989aac64f04d761..8442013f848904f7fb1fd9da4bd07f581c183e51 100644 (file)
@@ -47,7 +47,7 @@ void mbox_sync_move_buffer(struct mbox_sync_mail_context *ctx,
                for (i = 0; i < MBOX_HDR_COUNT; i++) {
                        if (ctx->hdr_pos[i] > pos &&
                            ctx->hdr_pos[i] != SIZE_MAX)
-                               ctx->hdr_pos[i] += diff;
+                               ctx->hdr_pos[i] = (ssize_t)ctx->hdr_pos[i] + diff;
                }
 
                if (ctx->mail.space > 0) {
@@ -56,7 +56,7 @@ void mbox_sync_move_buffer(struct mbox_sync_mail_context *ctx,
                                 ctx->mail.offset > ctx->hdr_offset + pos + have);
                        if (ctx->mail.offset > ctx->hdr_offset + pos) {
                                /* free space offset moves */
-                               ctx->mail.offset += diff;
+                               ctx->mail.offset = (ssize_t)ctx->mail.offset + diff;
                        }
                }
 
index 5e09e8ba06f45e728ca28b879d5d3c26ca9153ee..8bfab6fb8a46c3842f56ec852278fc5cde278837 100644 (file)
@@ -661,8 +661,8 @@ static int mbox_sync_handle_header(struct mbox_sync_mail_context *mail_ctx)
                /* read the From-line before rewriting overwrites it */
                if (mbox_read_from_line(mail_ctx) < 0)
                        return -1;
-               i_assert(mail_ctx->mail.from_offset + move_diff != 1 &&
-                        mail_ctx->mail.from_offset + move_diff != 2);
+               i_assert((off_t)mail_ctx->mail.from_offset + move_diff != 1 &&
+                        (off_t)mail_ctx->mail.from_offset + move_diff != 2);
 
                mbox_sync_update_header(mail_ctx);
                ret = mbox_sync_try_rewrite(mail_ctx, move_diff);
@@ -674,8 +674,8 @@ static int mbox_sync_handle_header(struct mbox_sync_mail_context *mail_ctx)
                           new location */
                        i_assert((off_t)mail_ctx->mail.from_offset >=
                                 -move_diff);
-                       mail_ctx->mail.from_offset += move_diff;
-                       mail_ctx->mail.offset += move_diff;
+                       mail_ctx->mail.from_offset = (off_t)mail_ctx->mail.from_offset + move_diff;
+                       mail_ctx->mail.offset = (off_t)mail_ctx->mail.offset + move_diff;
                        if (mbox_write_from_line(mail_ctx) < 0)
                                return -1;
                } else {
index 1650e734dfd940a3faad56c1f25fb8f2fe9a2b70..75739114b4d87ae0497204ace590d51b2d6a2713 100644 (file)
@@ -263,7 +263,7 @@ static void test_array_cmp_str(void)
                char buf[12];
                const char *bufp = buf;
                memcpy(buf, ostr, olen+1);
-               buf[rc] = i_rand_limit(CHAR_MAX + 1 - CHAR_MIN) + CHAR_MIN;
+               buf[rc] = (int32_t)i_rand_limit(CHAR_MAX + 1 - CHAR_MIN) + CHAR_MIN;
                if(rc == olen)
                        buf[rc+1] = '\0';
                array_idx_set(&arr2, j, &bufp);
index c80aee0c8eb0f7e88ad28b1560d31bed257b2862..c76d5b8c10d56eedc0406b52aef4718cfe01ddf2 100644 (file)
@@ -75,7 +75,7 @@ internal_line_match(const char *line, const char *prefix, const char *text)
 
        if (line[0] != '\001')
                return FALSE;
-       uint8_t type = line[1];
+       uint8_t type = (uint8_t)line[1];
        if (type != ((LOG_TYPE_DEBUG+1) | 0x80))
                return FALSE;
        line += 2;
index 0137221d4950a60f5841f851593856700325dbe9..b5d3d06d51dd6d6828696edc4dc470b999e0d4f9 100644 (file)
@@ -149,13 +149,13 @@ void test_unichar(void)
                test_assert(chr2 == chr);
 
                if ((chr & 0x63) == 0) {
-                       unsigned int utf8len = uni_utf8_char_bytes(*str_c(str));
+                       unsigned int utf8len = uni_utf8_char_bytes((unsigned char)*str_c(str));
 
                        /* virtually truncate the byte string */
                        while (--utf8len > 0)
                                test_assert(uni_utf8_get_char_n(str_c(str), utf8len, &chr2) == 0);
 
-                       utf8len = uni_utf8_char_bytes(*str_c(str));
+                       utf8len = uni_utf8_char_bytes((unsigned char)*str_c(str));
 
                        /* actually truncate the byte stream */
                        while (--utf8len > 0) {