mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-22 08:08:10 +00:00
Fixed memory leaks in tuning_db_init in tuningdb.c
This commit is contained in:
parent
6716447dfc
commit
356ad9f927
@ -95,6 +95,7 @@
|
|||||||
- Fixed keys extraction in luks2hashcat - now extracts all active keys
|
- Fixed keys extraction in luks2hashcat - now extracts all active keys
|
||||||
- Fixed maximum password length in module/test_module of hash-mode 2400
|
- Fixed maximum password length in module/test_module of hash-mode 2400
|
||||||
- Fixed maximum password length in module/test_module of hash-mode 2410
|
- Fixed maximum password length in module/test_module of hash-mode 2410
|
||||||
|
- Fixed memory leaks in tuning_db_init in tuningdb.c
|
||||||
- Fixed minimum password length in module of hash-mode 28200
|
- Fixed minimum password length in module of hash-mode 28200
|
||||||
- Fixed minimum password length in module of hash-mode 29800
|
- Fixed minimum password length in module of hash-mode 29800
|
||||||
- Fixed out-of-boundary read when a fast hash defines a kernel_loops_min value higher than the amplifiers provided by the user
|
- Fixed out-of-boundary read when a fast hash defines a kernel_loops_min value higher than the amplifiers provided by the user
|
||||||
|
@ -72,6 +72,8 @@ int tuning_db_init (hashcat_ctx_t *hashcat_ctx)
|
|||||||
|
|
||||||
char **tuning_db_files = scan_directory (tuning_db_folder);
|
char **tuning_db_files = scan_directory (tuning_db_folder);
|
||||||
|
|
||||||
|
hcfree (tuning_db_folder);
|
||||||
|
|
||||||
for (int i = 0; tuning_db_files[i] != NULL; i++)
|
for (int i = 0; tuning_db_files[i] != NULL; i++)
|
||||||
{
|
{
|
||||||
char *tuning_db_file = tuning_db_files[i];
|
char *tuning_db_file = tuning_db_files[i];
|
||||||
@ -80,9 +82,19 @@ int tuning_db_init (hashcat_ctx_t *hashcat_ctx)
|
|||||||
|
|
||||||
const size_t dblen = strlen (tuning_db_file);
|
const size_t dblen = strlen (tuning_db_file);
|
||||||
|
|
||||||
if (dblen < suflen) continue; // make sure to not do any out-of-boundary reads
|
if (dblen < suflen)
|
||||||
|
{
|
||||||
|
hcfree (tuning_db_file);
|
||||||
|
|
||||||
if (memcmp (tuning_db_file + dblen - suflen, TUNING_DB_SUFFIX, suflen) != 0) continue;
|
continue; // make sure to not do any out-of-boundary reads
|
||||||
|
}
|
||||||
|
|
||||||
|
if (memcmp (tuning_db_file + dblen - suflen, TUNING_DB_SUFFIX, suflen) != 0)
|
||||||
|
{
|
||||||
|
hcfree (tuning_db_file);
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
HCFILE fp;
|
HCFILE fp;
|
||||||
|
|
||||||
@ -90,6 +102,8 @@ int tuning_db_init (hashcat_ctx_t *hashcat_ctx)
|
|||||||
{
|
{
|
||||||
event_log_error (hashcat_ctx, "%s: %s", tuning_db_file, strerror (errno));
|
event_log_error (hashcat_ctx, "%s: %s", tuning_db_file, strerror (errno));
|
||||||
|
|
||||||
|
for (int j = 0; tuning_db_files[j] != NULL; j++) hcfree (tuning_db_files[j]);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user