Using modulo instead of AND wrapped it one number too early.
Luckily these didn't break anything.
if (i_rand_limit(3) == 0)
buf[i] = i_rand_limit(4);
else
- buf[i] = i % UCHAR_MAX;
+ buf[i] = i & UCHAR_MAX;
}
for (i = 0; i < 1024*128 / sizeof(buf); i++) {
sha1_loop(&sha1, buf, sizeof(buf));
struct mail_cache_iterate_field field;
int ret;
- view->cached_exists_value = (view->cached_exists_value + 1) % UINT8_MAX;
+ view->cached_exists_value = (view->cached_exists_value + 1) & UINT8_MAX;
if (view->cached_exists_value == 0) {
/* wrapped, we'll have to clear the buffer */
buffer_set_used_size(view->cached_exists_buf, 0);
ctx.new_msg = seq >= first_new_seq;
buffer_set_used_size(ctx.buffer, 0);
- ctx.field_seen_value = (ctx.field_seen_value + 1) % UINT8_MAX;
+ ctx.field_seen_value = (ctx.field_seen_value + 1) & UINT8_MAX;
if (ctx.field_seen_value == 0) {
memset(buffer_get_modifiable_data(ctx.field_seen, NULL),
0, buffer_get_size(ctx.field_seen));