From 6166156b477041b85cb2bbb7ed264893cd8694ac Mon Sep 17 00:00:00 2001 From: Christophe Grenier Date: Sun, 1 Nov 2009 11:14:14 +0100 Subject: [PATCH] PhotoRec: stricter check for .dbf files --- src/file_dbf.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/file_dbf.c b/src/file_dbf.c index ce6362aa..821a3bf5 100644 --- a/src/file_dbf.c +++ b/src/file_dbf.c @@ -52,8 +52,14 @@ static void register_header_check_dbf(file_stat_t *file_stat) static int header_check_dbf(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) { - /* 0x03 YY MM DD */ - if(buffer[0]==0x3 && (buffer[1]>80 || buffer[1]<20) && (buffer[2]>=1 && buffer[2]<=12) && (buffer[3]>=1 && buffer[3]<=31)) + /* 0x03 YY MM DD reserved=0 */ + if(buffer[0]==0x3 && (buffer[1]>80 || buffer[1]<120) && + (buffer[2]>=1 && buffer[2]<=12) && (buffer[3]>=1 && buffer[3]<=31) && + buffer[12]==0 && buffer[13]==0 && buffer[14]==0 && buffer[15]==0 && + buffer[16]==0 && buffer[17]==0 && buffer[18]==0 && buffer[19]==0 && + buffer[20]==0 && buffer[21]==0 && buffer[22]==0 && buffer[23]==0 && + buffer[24]==0 && buffer[25]==0 && buffer[26]==0 && buffer[27]==0 && + buffer[30]==0 && buffer[31]==0) { reset_file_recovery(file_recovery_new); file_recovery_new->extension=file_hint_dbf.extension;