Fixed a bug where hashcat crashes for accessing deallocated buffer if user spams...
authorjsteube <jens.steube@gmail.com>
Fri, 1 Jul 2016 11:04:50 +0000 (13:04 +0200)
committerjsteube <jens.steube@gmail.com>
Fri, 1 Jul 2016 11:04:50 +0000 (13:04 +0200)
docs/changes.txt
src/hashcat.c

index b45e460..d44d6e7 100644 (file)
@@ -13,6 +13,7 @@
 
 - Fixed a bug where hashcat is suppressing --machine-readable output in the final status update
 - Fixed a bug where hashcat did not check the return of realpath() and crashes uncontrolled if the path does not exist
+- Fixed a bug where hashcat crashes for accessing deallocated buffer if user spams "s" shortly before hashcat shuts down
 
 * changes v2.01 -> v3.00:
 
index 13ee720..958ceb7 100644 (file)
@@ -925,6 +925,9 @@ void status_display ()
   if (data.devices_status == STATUS_INIT)     return;
   if (data.devices_status == STATUS_STARTING) return;
 
+  // in this case some required buffers are free'd, ascii_digest() would run into segfault
+  if (data.shutdown_inner == 1) return;
+
   if (data.machine_readable == 1)
   {
     status_display_machine_readable ();
@@ -1715,6 +1718,8 @@ static void status_benchmark ()
   if (data.devices_status == STATUS_INIT)     return;
   if (data.devices_status == STATUS_STARTING) return;
 
+  if (data.shutdown_inner == 1) return;
+
   if (data.machine_readable == 1)
   {
     status_benchmark_automate ();