summaryrefslogtreecommitdiffstats
path: root/src/file_tivo.c
diff options
context:
space:
mode:
authorChristophe Grenier <grenier@cgsecurity.org>2015-05-11 09:25:39 +0200
committerChristophe Grenier <grenier@cgsecurity.org>2015-05-11 09:25:39 +0200
commite1ca4010307fb53d83c5036f6c8269eb9066c928 (patch)
tree79a9547954c70be7ddc88324990d60a163ffb16d /src/file_tivo.c
parentf63304053aa32515e4853c2472fb785bcda0307c (diff)
remove always-true memcmp
Diffstat (limited to 'src/file_tivo.c')
-rw-r--r--src/file_tivo.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/file_tivo.c b/src/file_tivo.c
index 0d2764d..fcbcd3a 100644
--- a/src/file_tivo.c
+++ b/src/file_tivo.c
@@ -50,24 +50,20 @@ static void file_check_tivo(file_recovery_t *file_recovery)
file_search_footer(file_recovery, tivo_footer, sizeof(tivo_footer), 0);
}
-static const unsigned char tivo_header[7]= {
- 'T' , 'i' , 'V' , 'o' , 0x00, 0x04, 0x00
-};
-
static int header_check_tivo(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)
{
- if(memcmp(&buffer[0], tivo_header, sizeof(tivo_header))==0 &&
- memcmp(&buffer[0x1c], "<?xml ", 6)==0)
- {
- reset_file_recovery(file_recovery_new);
- file_recovery_new->extension=file_hint_tivo.extension;
- file_recovery_new->file_check=&file_check_tivo;
- return 1;
- }
- return 0;
+ if(memcmp(&buffer[0x1c], "<?xml ", 6)!=0)
+ return 0;
+ reset_file_recovery(file_recovery_new);
+ file_recovery_new->extension=file_hint_tivo.extension;
+ file_recovery_new->file_check=&file_check_tivo;
+ return 1;
}
static void register_header_check_tivo(file_stat_t *file_stat)
{
+ static const unsigned char tivo_header[7]= {
+ 'T' , 'i' , 'V' , 'o' , 0x00, 0x04, 0x00
+ };
register_header_check(0, tivo_header, sizeof(tivo_header), &header_check_tivo, file_stat);
}