From d5cd0a0030e930c9fd35477986d14afb94aba64f Mon Sep 17 00:00:00 2001 From: Jens Steube Date: Mon, 11 May 2020 11:52:36 +0200 Subject: [PATCH] Fix invalid brain session id calculation and move sorting functions to shared.c --- include/folder.h | 2 -- include/hashes.h | 1 - include/shared.h | 3 +++ src/brain.c | 2 +- src/folder.c | 8 -------- src/hashes.c | 8 -------- src/shared.c | 16 ++++++++++++++++ 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/include/folder.h b/include/folder.h index 70ab60240..75f214b1a 100644 --- a/include/folder.h +++ b/include/folder.h @@ -24,8 +24,6 @@ #define DOT_HASHCAT ".hashcat" #define SESSIONS_FOLDER "sessions" -int sort_by_stringptr (const void *p1, const void *p2); - int count_dictionaries (char **dictionary_files); char *first_file_in_directory (const char *path); diff --git a/include/hashes.h b/include/hashes.h index 2683e84f0..236db5c9a 100644 --- a/include/hashes.h +++ b/include/hashes.h @@ -6,7 +6,6 @@ #ifndef _HASHES_H #define _HASHES_H -int sort_by_string (const void *p1, const void *p2); int sort_by_digest_p0p1 (const void *v1, const void *v2, void *v3); int sort_by_salt (const void *v1, const void *v2); int sort_by_hash (const void *v1, const void *v2, void *v3); diff --git a/include/shared.h b/include/shared.h index 96604c730..b7ff2b548 100644 --- a/include/shared.h +++ b/include/shared.h @@ -24,6 +24,9 @@ #include #endif +int sort_by_string (const void *p1, const void *p2); +int sort_by_stringptr (const void *p1, const void *p2); + bool overflow_check_u32_add (const u32 a, const u32 b); bool overflow_check_u32_mul (const u32 a, const u32 b); bool overflow_check_u64_add (const u64 a, const u64 b); diff --git a/src/brain.c b/src/brain.c index f659ea7d7..dacdb0f7d 100644 --- a/src/brain.c +++ b/src/brain.c @@ -126,7 +126,7 @@ u32 brain_compute_session (hashcat_ctx_t *hashcat_ctx) hcfree (out_buf); - qsort (out_bufs, out_idx, sizeof (char *), sort_by_string); + qsort (out_bufs, out_idx, sizeof (char *), sort_by_stringptr); for (int i = 0; i < out_idx; i++) { diff --git a/src/folder.c b/src/folder.c index 0c313f31c..9f1130f05 100644 --- a/src/folder.c +++ b/src/folder.c @@ -14,14 +14,6 @@ #include "event.h" #endif -int sort_by_stringptr (const void *p1, const void *p2) -{ - const char* const *s1 = (const char* const *) p1; - const char* const *s2 = (const char* const *) p2; - - return strcmp (*s1, *s2); -} - static int get_exec_path (char *exec_path, const size_t exec_path_sz) { #if defined (__linux__) || defined (__CYGWIN__) diff --git a/src/hashes.c b/src/hashes.c index c5d1df4f3..789bcd630 100644 --- a/src/hashes.c +++ b/src/hashes.c @@ -27,14 +27,6 @@ #include "brain.h" #endif -int sort_by_string (const void *p1, const void *p2) -{ - const char *s1 = (const char *) p1; - const char *s2 = (const char *) p2; - - return strcmp (s1, s2); -} - int sort_by_digest_p0p1 (const void *v1, const void *v2, void *v3) { const u32 *d1 = (const u32 *) v1; diff --git a/src/shared.c b/src/shared.c index 05387f5e6..db22662be 100644 --- a/src/shared.c +++ b/src/shared.c @@ -97,6 +97,22 @@ static const char *HASH_CATEGORY_OTP_STR = "One-Time Password static const char *HASH_CATEGORY_PLAIN_STR = "Plaintext"; static const char *HASH_CATEGORY_FRAMEWORK_STR = "Framework"; +int sort_by_string (const void *p1, const void *p2) +{ + const char *s1 = (const char *) p1; + const char *s2 = (const char *) p2; + + return strcmp (s1, s2); +} + +int sort_by_stringptr (const void *p1, const void *p2) +{ + const char* const *s1 = (const char* const *) p1; + const char* const *s2 = (const char* const *) p2; + + return strcmp (*s1, *s2); +} + static inline int get_msb32 (const u32 v) { int i;