From c3e0bcc637a9356ef7f61c47cbaf2efd6d2eab32 Mon Sep 17 00:00:00 2001 From: Christophe Grenier Date: Mon, 21 Jul 2014 21:04:26 +0200 Subject: [PATCH] PhotoRec: stricter check for .chm --- src/file_chm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/file_chm.c b/src/file_chm.c index b7af3e49..e7056912 100644 --- a/src/file_chm.c +++ b/src/file_chm.c @@ -44,8 +44,11 @@ const file_hint_t file_hint_chm= { static int header_check_chm(const unsigned char *buffer, const unsigned int buffer_size, const unsigned int safe_header_only, const file_recovery_t *file_recovery, file_recovery_t *file_recovery_new) { + const uint64_t size=(buffer[104]<<0)+(buffer[105]<<8)+(buffer[106]<<16)+((uint64_t)buffer[107]<<24); + if(size < 108) + return 0; reset_file_recovery(file_recovery_new); - file_recovery_new->calculated_file_size=(buffer[104]<<0)+(buffer[105]<<8)+(buffer[106]<<16)+((uint64_t)buffer[107]<<24); + file_recovery_new->calculated_file_size=size; file_recovery_new->data_check=&data_check_size; file_recovery_new->file_check=&file_check_size; file_recovery_new->extension=file_hint_chm.extension;