From: philsmd Date: Thu, 7 Jan 2016 15:35:45 +0000 (+0100) Subject: added additional --opencl-platform check (reject numbers > number of OpenCL platforms) X-Git-Tag: v3.00-beta~537^2~1 X-Git-Url: https://www.flypig.org.uk/git/?a=commitdiff_plain;h=7b7caf38423e915e70fbf90c4e49283be57d5d99;p=hashcat.git added additional --opencl-platform check (reject numbers > number of OpenCL platforms) --- diff --git a/src/oclHashcat.c b/src/oclHashcat.c index 63a8d6f..0f55a56 100644 --- a/src/oclHashcat.c +++ b/src/oclHashcat.c @@ -12300,7 +12300,12 @@ int main (int argc, char **argv) return (-1); } - uint CL_platform_sel = 0; + uint CL_platform_sel = 1; + + if (opencl_platform != NULL) + { + CL_platform_sel = atoi (opencl_platform); + } if (CL_platforms_cnt > 1) { @@ -12330,21 +12335,29 @@ int main (int argc, char **argv) } else { - CL_platform_sel = atoi (opencl_platform); - if (CL_platform_sel > CL_platforms_cnt) { log_error ("ERROR: invalid OpenCL platforms selected"); return (-1); } + } + } + else + { + if (CL_platform_sel != 1) + { + log_error ("ERROR: OpenCL platform number %d not available", CL_platform_sel); - // user does not count with zero - - CL_platform_sel -= 1; + return (-1); } } + // zero-indexed: not starting to count at 1, as user does + + CL_platform_sel -= 1; + + cl_platform_id CL_platform = CL_platforms[CL_platform_sel]; char CL_platform_vendor[INFOSZ];