Mercurial > dovecot > core-2.2
changeset 13128:62c8eadd09d2
fts: Fixed a crash in HTML parser.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 03 Aug 2011 18:58:45 +0300 |
parents | 5b7cc753f7c8 |
children | 4ed44f06c54c |
files | src/plugins/fts/fts-parser-html.c |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/fts/fts-parser-html.c Wed Aug 03 18:54:19 2011 +0300 +++ b/src/plugins/fts/fts-parser-html.c Wed Aug 03 18:58:45 2011 +0300 @@ -213,10 +213,14 @@ buffer_append(parser->input, block->data, size); size = parse_data(parser, parser->input->data, parser->input->used); - - i_assert(size >= buf_orig_size); - block->data += size - buf_orig_size; - block->size -= size - buf_orig_size; + if (size == 0) { + /* we're at EOF and can't finish this */ + i_assert(block->size == 0); + } else { + i_assert(size >= buf_orig_size); + block->data += size - buf_orig_size; + block->size -= size - buf_orig_size; + } buffer_set_used_size(parser->input, 0); } size = parse_data(parser, block->data, block->size);