PhotoRec: stricter check for .dbf files

This commit is contained in:
Christophe Grenier 2009-11-01 11:14:14 +01:00
parent 3718ffa332
commit 6166156b47

View File

@ -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;