Mercurial > dovecot > original-hg > dovecot-1.2
changeset 7809:a5bbb3abeff8 HEAD
logview: Handle unexpected header sizes correctly.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 11 Jun 2008 02:30:34 +0300 |
parents | 9185f2adeefb |
children | a32df93cc112 |
files | src/util/logview.c |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/util/logview.c Tue Jun 10 22:06:26 2008 +0300 +++ b/src/util/logview.c Wed Jun 11 02:30:34 2008 +0300 @@ -31,6 +31,11 @@ i_fatal("file hdr read() %"PRIuSIZE_T" != %"PRIuSIZE_T, ret, sizeof(hdr)); } + if (hdr.hdr_size < sizeof(hdr)) { + memset(PTR_OFFSET(&hdr, hdr.hdr_size), 0, + sizeof(hdr) - hdr.hdr_size); + } + lseek(fd, hdr.hdr_size, SEEK_SET); printf("version = %u.%u\n", hdr.major_version, hdr.minor_version); printf("hdr size = %u\n", hdr.hdr_size);