]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
global: Explicitly wrap values to fit target
authorAki Tuomi <aki.tuomi@open-xchange.com>
Mon, 19 Oct 2020 10:49:29 +0000 (13:49 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 22 Oct 2020 12:16:16 +0000 (12:16 +0000)
src/lib-compression/test-compression.c
src/lib-imap/imap-utf7.c
src/lib/base64.c
src/lib/test-array.c
src/lib/test-data-stack.c
src/lib/test-istream-concat.c
src/lib/test-istream-seekable.c

index 2f5cf283da2dbcbb6685b90079c9945e2c7abb7c..1bf97c48c903b9da500b313f852135407c9f122b 100644 (file)
@@ -275,7 +275,7 @@ static void test_compression_handler(const struct compression_handler *handler)
                if (i_rand_limit(3) == 0)
                        buf[i] = i_rand_limit(4);
                else
-                       buf[i] = i;
+                       buf[i] = i % UCHAR_MAX;
        }
        for (i = 0; i < 1024*128 / sizeof(buf); i++) {
                sha1_loop(&sha1, buf, sizeof(buf));
index 6fe603bf5ffa7040976a3b92405eb64de0fbe288..90abbc829fa16d9e22cdd1e5e69b54f0e640b033 100644 (file)
@@ -214,7 +214,7 @@ static int mbase64_decode_to_utf8(string_t *dest, const char **_src)
                        break;
                }
 
-               output[outpos % 4] = (input[1] << 4) | (input[2] >> 2);
+               output[outpos % 4] = ((input[1] << 4) & 0xff) | (input[2] >> 2);
                if (++outpos % 4 == outstart) {
                        if (utf16buf_to_utf8(dest, output, &outstart, 4) < 0)
                                return -1;
index 7d4163831371f3f43061fe55d8d9f0149f74df5b..3c7117db85b629dcadf23c56feecfa0251bf84a8 100644 (file)
@@ -692,7 +692,7 @@ int base64_decode_more(struct base64_decoder *dec,
                        dec->sub_pos++;
                        break;
                case 2:
-                       dec->buf = (dec->buf << 4) | (dm >> 2);
+                       dec->buf = ((dec->buf << 4) & 0xff) | (dm >> 2);
                        buffer_append_c(dest, dec->buf);
                        dst_avail--;
                        dec->buf = dm;
index 75739114b4d87ae0497204ace590d51b2d6a2713..1799487ddda4e81393509512ed9f1f5022eda2c0 100644 (file)
@@ -204,7 +204,8 @@ static void test_array_cmp(void)
                unsigned int j = i_rand_limit(NELEMS);
                const unsigned short *ptmp = array_idx(&arr2, j);
                unsigned short tmp = *ptmp;
-               unsigned short repl = tmp + deltas[i_rand_limit(N_ELEMENTS(deltas))];
+               unsigned short repl = ((unsigned int)tmp +
+                       deltas[i_rand_limit(N_ELEMENTS(deltas))]) & 0xffff;
 
                array_idx_set(&arr2, j, &repl);
                test_assert_idx(array_cmp(&arr1, &arr2) == (tmp == repl), i);
index a5551e0acd972a276e384add5e6d181ced9aa6f9..35c9e81de631deac377e853c76efdbbd43c59d05 100644 (file)
@@ -21,7 +21,7 @@ static void test_ds_buffers(void)
                        /* grow it */
                        unsigned char *p2 = t_buffer_get(i);
                        test_assert_idx(p == p2, i);
-                       p[i-1] = i;
+                       p[i-1] = i & 0xff;
                        test_assert_idx(p[i-2] == (unsigned char)(i-1), i);
                }
                /* now fix it permanently */
@@ -79,7 +79,7 @@ static void test_ds_realloc()
                for (i = 2; i <= left; i++) {
                        /* grow it */
                        test_assert_idx(t_try_realloc(p, i), i);
-                       p[i-1] = i;
+                       p[i-1] = i & 0xff;
                        test_assert_idx(p[i-2] == (unsigned char)(i-1), i);
                }
                test_assert(t_get_bytes_available() < 64 + MEM_ALIGN(1));
index 7f0006af22e3f81f186ad8e3e8ed26c9c4f84030..fd3887ddaf20a551ad3d4bcdf49083e333bf7542 100644 (file)
@@ -69,7 +69,7 @@ static bool test_istream_concat_random(void)
                data_len = i_rand_minmax(1, TEST_MAX_ISTREAM_SIZE);
                w_data = t_malloc_no0(data_len);
                for (j = 0; j < data_len; j++)
-                       w_data[j] = offset++;
+                       w_data[j] = (offset++) & 0xff;
                streams[i] = test_istream_create_data(w_data, data_len);
                test_istream_set_allow_eof(streams[i], TRUE);
        }
index 594e0321a6c1b640aadaa3aa51e3681d0dbda201..e57eebadfbfdeed8a72e3c4ba900e9ea61f170fb 100644 (file)
@@ -85,7 +85,7 @@ static void test_istream_seekable_random(void)
                data_len = i_rand_minmax(1, 100);
                w_data = t_malloc_no0(data_len);
                for (j = 0; j < data_len; j++)
-                       w_data[j] = offset++;
+                       w_data[j] = (offset++) & 0xff;
                streams[i] = test_istream_create_data(w_data, data_len);
                streams[i]->seekable = FALSE;
                test_istream_set_allow_eof(streams[i], TRUE);