unsigned int keyword_idx;
int ret;
+ i_assert(rec->name_size > 0);
+
seqset_offset = sizeof(*rec) + rec->name_size;
if ((seqset_offset % 4) != 0)
seqset_offset += 4 - (seqset_offset % 4);
end = CONST_PTR_OFFSET(rec, hdr->size);
keyword_name = t_strndup(rec + 1, rec->name_size);
- if (*keyword_name == '\0') {
- mail_index_sync_set_corrupted(ctx,
- "Trying to use empty keyword");
- return -1;
- }
if (!keyword_lookup(ctx, keyword_name, &keyword_idx))
keywords_header_add(ctx, keyword_name, &keyword_idx);
uint32_t uid;
size_t uidset_offset, i, size;
+ i_assert(u->name_size > 0);
+
uidset_offset = sizeof(*u) + u->name_size;
if ((uidset_offset % 4) != 0)
uidset_offset += 4 - (uidset_offset % 4);
if ((seqset_offset % 4) != 0)
seqset_offset += 4 - (seqset_offset % 4);
+ if (rec->name_size == 0) {
+ mail_transaction_log_file_set_corrupted(file,
+ "Trying to use empty keyword");
+ return FALSE;
+ }
if (seqset_offset > rec_size) {
mail_transaction_log_file_set_corrupted(file,
"Invalid keyword update record size");