diff --git a/docs/changes.txt b/docs/changes.txt index 834c5c786..98fd0b897 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -48,6 +48,7 @@ - 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: Fixed the use of strtok_r () calls +- OpenCL Devices: Fixed several memory leaks in shutdown phase - OpenCL Runtime: Updated rocm detection - 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 diff --git a/src/opencl.c b/src/opencl.c index 522494f52..995cac90c 100644 --- a/src/opencl.c +++ b/src/opencl.c @@ -534,6 +534,8 @@ void ocl_close (hashcat_ctx_t *hashcat_ctx) { 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->platforms); - 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)); } @@ -3521,6 +3526,7 @@ void opencl_ctx_devices_destroy (hashcat_ctx_t *hashcat_ctx) hcfree (device_param->device_version); hcfree (device_param->driver_version); hcfree (device_param->device_opencl_version); + hcfree (device_param->device_vendor); } opencl_ctx->devices_cnt = 0;