1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-23 07:08:19 +00:00

File Reads: Fixed memory leak in case outfile or hashfile was not accessible

This commit is contained in:
jsteube 2017-02-14 16:25:38 +01:00
parent cb58c84754
commit c859cff25c
2 changed files with 20 additions and 3 deletions

View File

@ -77,6 +77,7 @@
- OpenCL Kernel: Renumbered hash-mode 7600 to 4521
- OpenCL Device: Do a check on available constant memory size and abort if it's less than 64kB
- File Reads: Improved error detection on file reads, especially when getting the file stats
- File Reads: Fixed memory leak in case outfile or hashfile was not accessible
- File Locking: Improved error detection on file locks
- Hash Parsing: Added additional bound checks for the SIP digest authentication (MD5) parser (-m 11400)
- Sessions: Move out handling of multiple instance from restore file into separate pidfile

View File

@ -1568,25 +1568,41 @@ int user_options_check_files (hashcat_ctx_t *hashcat_ctx)
hc_stat_t tmpstat_outfile = { 0 };
hc_stat_t tmpstat_hashfile = { 0 };
int do_check = 0;
FILE *tmp_outfile_fp = fopen (outfile, "r");
if (tmp_outfile_fp)
{
if (hc_fstat (fileno (tmp_outfile_fp), &tmpstat_outfile)) return -1;
if (hc_fstat (fileno (tmp_outfile_fp), &tmpstat_outfile))
{
fclose (tmp_outfile_fp);
return -1;
}
fclose (tmp_outfile_fp);
do_check++;
}
FILE *tmp_hashfile_fp = fopen (hashfile, "r");
if (tmp_hashfile_fp)
{
if (hc_fstat (fileno (tmp_hashfile_fp), &tmpstat_hashfile)) return -1;
if (hc_fstat (fileno (tmp_hashfile_fp), &tmpstat_hashfile))
{
fclose (tmp_hashfile_fp);
return -1;
}
fclose (tmp_hashfile_fp);
do_check++;
}
if (tmp_outfile_fp)
if (do_check == 2)
{
tmpstat_outfile.st_mode = 0;
tmpstat_outfile.st_nlink = 0;