diff --git a/docs/changes.txt b/docs/changes.txt index 1bd9e7444..11542ec4c 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -17,6 +17,7 @@ - Modules: Added support for non-zero IVs for -m 6800 (Lastpass). Also added `tools/lastpass2hashcat.py` - Status Code: Add specific return code for self-test fail (-11) +- Described workaround in error message when detecting more than 64 backend devices * changes v6.2.5 -> v6.2.6 diff --git a/src/backend.c b/src/backend.c index f5b75c571..46a0bcdf1 100644 --- a/src/backend.c +++ b/src/backend.c @@ -7330,6 +7330,13 @@ int backend_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime) { const u64 backend_devices_cnt_mask = ~(((u64) -1 >> backend_ctx->backend_devices_cnt) << backend_ctx->backend_devices_cnt); + if (backend_ctx->backend_devices_cnt >= 64) + { + event_log_error (hashcat_ctx, "Illegal use of the --backend-devices parameter because too many backend devices were found (%u).", backend_ctx->backend_devices_cnt); + event_log_error (hashcat_ctx, "If possible, disable one of your backends to reduce the number of backend devices. For example \"--backend-ignore-cuda\" or \"--backend-ignore-opencl\" ."); + + return -1; + } if (backend_ctx->backend_devices_filter > backend_devices_cnt_mask) { event_log_error (hashcat_ctx, "An invalid device was specified using the --backend-devices parameter.");