Mercurial > dovecot > original-hg > dovecot-1.2
changeset 9486:9a8eb4d68b04 HEAD
lib-index: Replaced ext-header update assert with "index corrupted" error handling.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 23 Nov 2009 11:41:29 -0500 |
parents | eff8d8e3673f |
children | 40a6a70b3146 |
files | src/lib-index/mail-index-sync-ext.c |
diffstat | 1 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-index-sync-ext.c Mon Nov 23 11:16:35 2009 -0500 +++ b/src/lib-index/mail-index-sync-ext.c Mon Nov 23 11:41:29 2009 -0500 @@ -622,7 +622,11 @@ return 1; ext = array_idx(&map->extensions, ctx->cur_ext_map_idx); - i_assert(ext->hdr_offset + offset + size <= map->hdr.header_size); + if (ext->hdr_offset + offset + size > map->hdr.header_size) { + mail_index_sync_set_corrupted(ctx, + "Extension header update points outside header size"); + return -1; + } buffer_write(map->hdr_copy_buf, ext->hdr_offset + offset, data, size); map->hdr_base = map->hdr_copy_buf->data;