Fixes ubsan errors:
runtime error: implicit conversion from type 'int' of value 256 (32-bit, signed) to type 'uint8_t' (aka 'unsigned char') changed the value to 0 (8-bit, unsigned)
struct mail_cache_iterate_field field;
int ret;
- if (++view->cached_exists_value == 0) {
+ 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);
view->cached_exists_value++;
ctx.new_msg = seq >= first_new_seq;
buffer_set_used_size(ctx.buffer, 0);
- if (++ctx.field_seen_value == 0) {
+ 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));
ctx.field_seen_value++;