summaryrefslogtreecommitdiffstats
path: root/src/file_cdt.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_cdt.c
parentf63304053aa32515e4853c2472fb785bcda0307c (diff)
remove always-true memcmp
Diffstat (limited to 'src/file_cdt.c')
-rw-r--r--src/file_cdt.c38
1 files changed, 16 insertions, 22 deletions
diff --git a/src/file_cdt.c b/src/file_cdt.c
index dcb446d..7ce19ab 100644
--- a/src/file_cdt.c
+++ b/src/file_cdt.c
@@ -31,7 +31,6 @@
#include "filegen.h"
static void register_header_check_cdt(file_stat_t *file_stat);
-static int header_check_cdt(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_cdt= {
.extension="cdt",
@@ -43,29 +42,24 @@ const file_hint_t file_hint_cdt= {
.register_header_check=&register_header_check_cdt
};
-static const unsigned char cdt_header[7]= {
- 'C' , 'O' , 'N' , 'C' , 'E' , 'P' , 'T'
-};
-
-static void register_header_check_cdt(file_stat_t *file_stat)
+static int header_check_cdt(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)
{
- register_header_check(12, cdt_header, sizeof(cdt_header), &header_check_cdt, file_stat);
+ reset_file_recovery(file_recovery_new);
+ if(buffer[0]==0xee)
+ file_recovery_new->extension="cdl"; /* ConceptDraw PRO Library File */
+ else if(buffer[0]==0xef)
+ file_recovery_new->extension="cdd"; /* ConceptDraw PRO Document */
+ else if(buffer[0]==0xf0)
+ file_recovery_new->extension="cdt"; /* ConceptDraw PRO Template */
+ else
+ file_recovery_new->extension=file_hint_cdt.extension;
+ return 1;
}
-static int header_check_cdt(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 register_header_check_cdt(file_stat_t *file_stat)
{
- if(memcmp(&buffer[12], cdt_header, sizeof(cdt_header))==0)
- {
- reset_file_recovery(file_recovery_new);
- if(buffer[0]==0xee)
- file_recovery_new->extension="cdl"; /* ConceptDraw PRO Library File */
- else if(buffer[0]==0xef)
- file_recovery_new->extension="cdd"; /* ConceptDraw PRO Document */
- else if(buffer[0]==0xf0)
- file_recovery_new->extension="cdt"; /* ConceptDraw PRO Template */
- else
- file_recovery_new->extension=file_hint_cdt.extension;
- return 1;
- }
- return 0;
+ static const unsigned char cdt_header[7]= {
+ 'C' , 'O' , 'N' , 'C' , 'E' , 'P' , 'T'
+ };
+ register_header_check(12, cdt_header, sizeof(cdt_header), &header_check_cdt, file_stat);
}