1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-26 09:58:16 +00:00

OpenCL Devices: Fixed several memory leaks in shutdown phase

This commit is contained in:
jsteube 2018-01-31 16:38:55 +01:00
parent 6361ea823c
commit c34670c567
2 changed files with 8 additions and 1 deletions

View File

@ -48,6 +48,7 @@
- Files: Switched back to relative current working directory on windows to work around problems with unicode characters - Files: Switched back to relative current working directory on windows to work around problems with unicode characters
- Hash Parser: Changed the way large strings are handled/truncated within the event buffer if they are too large to fit - Hash Parser: Changed the way large strings are handled/truncated within the event buffer if they are too large to fit
- Hash Parser: Fixed the use of strtok_r () calls - Hash Parser: Fixed the use of strtok_r () calls
- OpenCL Devices: Fixed several memory leaks in shutdown phase
- OpenCL Runtime: Updated rocm detection - OpenCL Runtime: Updated rocm detection
- OpenCL Kernels: Replace variables from uXX to uXXa if used in __constant space - OpenCL Kernels: Replace variables from uXX to uXXa if used in __constant space
- OpenCL Kernels: Use a special kernel to initialize the password buffer used during autotune measurements, to reduce startup time - OpenCL Kernels: Use a special kernel to initialize the password buffer used during autotune measurements, to reduce startup time

View File

@ -534,6 +534,8 @@ void ocl_close (hashcat_ctx_t *hashcat_ctx)
{ {
hc_dlclose (ocl->lib); hc_dlclose (ocl->lib);
} }
hcfree (opencl_ctx->ocl);
} }
} }
@ -2644,8 +2646,11 @@ void opencl_ctx_destroy (hashcat_ctx_t *hashcat_ctx)
hcfree (opencl_ctx->devices_param); hcfree (opencl_ctx->devices_param);
hcfree (opencl_ctx->platforms); hcfree (opencl_ctx->platforms);
hcfree (opencl_ctx->platform_devices); hcfree (opencl_ctx->platform_devices);
hcfree (opencl_ctx->platforms_vendor);
hcfree (opencl_ctx->platforms_name);
hcfree (opencl_ctx->platforms_version);
hcfree (opencl_ctx->platforms_skipped);
memset (opencl_ctx, 0, sizeof (opencl_ctx_t)); memset (opencl_ctx, 0, sizeof (opencl_ctx_t));
} }
@ -3521,6 +3526,7 @@ void opencl_ctx_devices_destroy (hashcat_ctx_t *hashcat_ctx)
hcfree (device_param->device_version); hcfree (device_param->device_version);
hcfree (device_param->driver_version); hcfree (device_param->driver_version);
hcfree (device_param->device_opencl_version); hcfree (device_param->device_opencl_version);
hcfree (device_param->device_vendor);
} }
opencl_ctx->devices_cnt = 0; opencl_ctx->devices_cnt = 0;