summaryrefslogtreecommitdiffstats
path: root/src/file_spf.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_spf.c
parentf63304053aa32515e4853c2472fb785bcda0307c (diff)
remove always-true memcmp
Diffstat (limited to 'src/file_spf.c')
-rw-r--r--src/file_spf.c39
1 files changed, 16 insertions, 23 deletions
diff --git a/src/file_spf.c b/src/file_spf.c
index 4503000..09ecb8a 100644
--- a/src/file_spf.c
+++ b/src/file_spf.c
@@ -39,8 +39,6 @@
#endif
static void register_header_check_spf(file_stat_t *file_stat);
-static int header_check_spf(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);
-static void file_check_spf(file_recovery_t *file_recovery);
const file_hint_t file_hint_spf= {
.extension="spf",
@@ -52,27 +50,6 @@ const file_hint_t file_hint_spf= {
.register_header_check=&register_header_check_spf
};
-static const unsigned char spf_header[12]= {
- 'S', 'P', 'F', 'I', 0x00, 0x02, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00
-};
-
-static void register_header_check_spf(file_stat_t *file_stat)
-{
- register_header_check(0, spf_header,sizeof(spf_header), &header_check_spf, file_stat);
-}
-
-static int header_check_spf(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,spf_header,sizeof(spf_header))==0)
- {
- reset_file_recovery(file_recovery_new);
- file_recovery_new->extension=file_hint_spf.extension;
- file_recovery_new->file_check=file_check_spf;
- return 1;
- }
- return 0;
-}
-
enum { READ_SIZE=32*512 };
static void file_check_spf(file_recovery_t *file_recovery)
@@ -112,3 +89,19 @@ static void file_check_spf(file_recovery_t *file_recovery)
}
}
}
+
+static int header_check_spf(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)
+{
+ reset_file_recovery(file_recovery_new);
+ file_recovery_new->extension=file_hint_spf.extension;
+ file_recovery_new->file_check=file_check_spf;
+ return 1;
+}
+
+static void register_header_check_spf(file_stat_t *file_stat)
+{
+ static const unsigned char spf_header[12]= {
+ 'S', 'P', 'F', 'I', 0x00, 0x02, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00
+ };
+ register_header_check(0, spf_header,sizeof(spf_header), &header_check_spf, file_stat);
+}