summaryrefslogtreecommitdiffstats
path: root/src/file_mat.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_mat.c
parentf63304053aa32515e4853c2472fb785bcda0307c (diff)
remove always-true memcmp
Diffstat (limited to 'src/file_mat.c')
-rw-r--r--src/file_mat.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/file_mat.c b/src/file_mat.c
index c5de645..93bb002 100644
--- a/src/file_mat.c
+++ b/src/file_mat.c
@@ -31,7 +31,6 @@
#include "filegen.h"
static void register_header_check_mat(file_stat_t *file_stat);
-static int header_check_mat(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 file_hint_t file_hint_mat= {
.extension="mat",
@@ -43,20 +42,12 @@ const file_hint_t file_hint_mat= {
.register_header_check=&register_header_check_mat
};
-static const unsigned char mat_header[7]= {'M', 'A', 'T', 'L', 'A', 'B', ' '};
-
-static void register_header_check_mat(file_stat_t *file_stat)
-{
- register_header_check(0, mat_header,sizeof(mat_header), &header_check_mat, file_stat);
-}
-
static int header_check_mat(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 unsigned char mat_le[4]={0x00, 0x01, 'I', 'M'};
const unsigned char mat_be[4]={0x01, 0x00, 'M', 'I'};
- if(memcmp(buffer,mat_header,sizeof(mat_header))==0 &&
- (memcmp(&buffer[0x7c], mat_le, sizeof(mat_le))==0 ||
- memcmp(&buffer[0x7c], mat_be, sizeof(mat_be))==0))
+ if(memcmp(&buffer[0x7c], mat_le, sizeof(mat_le))==0 ||
+ memcmp(&buffer[0x7c], mat_be, sizeof(mat_be))==0)
{
reset_file_recovery(file_recovery_new);
file_recovery_new->extension=file_hint_mat.extension;
@@ -64,3 +55,9 @@ static int header_check_mat(const unsigned char *buffer, const unsigned int buff
}
return 0;
}
+
+static void register_header_check_mat(file_stat_t *file_stat)
+{
+ static const unsigned char mat_header[7]= {'M', 'A', 'T', 'L', 'A', 'B', ' '};
+ register_header_check(0, mat_header,sizeof(mat_header), &header_check_mat, file_stat);
+}