From: jsteube Date: Wed, 13 Jul 2016 09:36:57 +0000 (+0200) Subject: Fix for -I parameter workaround, use chdir () before modifying cpath_real X-Git-Url: https://www.flypig.org.uk/git/?p=hashcat.git;a=commitdiff_plain;h=2167df6915974d5ec8db6bf94eaba0e1bba959b8 Fix for -I parameter workaround, use chdir () before modifying cpath_real Fixes https://github.com/hashcat/hashcat/issues/432 --- diff --git a/src/hashcat.c b/src/hashcat.c index 9d4299e..40adbc6 100644 --- a/src/hashcat.c +++ b/src/hashcat.c @@ -16107,12 +16107,6 @@ int main (int argc, char **argv) return -1; } - naive_replace (cpath_real, '\\', '/'); - - // not escaping here, windows has quotes - - snprintf (build_opts, sizeof (build_opts) - 1, "-I \"%s\"", cpath_real); - #else snprintf (cpath, sizeof (cpath) - 1, "%s/OpenCL/", shared_dir); @@ -16126,6 +16120,25 @@ int main (int argc, char **argv) return -1; } + #endif + + if (chdir (cpath_real) == -1) + { + log_error ("ERROR: %s: %s", cpath_real, strerror (errno)); + + return -1; + } + + #if _WIN + + naive_replace (cpath_real, '\\', '/'); + + // not escaping here, windows has quotes + + snprintf (build_opts, sizeof (build_opts) - 1, "-I \"%s\"", cpath_real); + + #else + naive_escape (cpath_real, PATH_MAX, ' ', '\\'); snprintf (build_opts, sizeof (build_opts) - 1, "-I %s", cpath_real); @@ -16157,13 +16170,6 @@ int main (int argc, char **argv) "inc_vendor.cl", }; - if (chdir (cpath_real) == -1) - { - log_error ("ERROR: %s: %s", cpath_real, strerror (errno)); - - return -1; - } - for (int i = 0; i < files_cnt; i++) { FILE *fd = fopen (files_names[i], "r");