Merge pull request #270 from luke-jr/bugfix_procname Bugfix: Copy argv[0] given to dirname()
diff --git a/cgminer.c b/cgminer.c
index 4c5b5da..36bdf22 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -5107,6 +5107,7 @@ int main(int argc, char *argv[])
bool pools_active = false;
struct sigaction handler;
struct thr_info *thr;
+ char *s;
unsigned int k;
int i, j;
@@ -5157,7 +5158,9 @@ int main(int argc, char *argv[])
opt_kernel_path = alloca(PATH_MAX);
strcpy(opt_kernel_path, CGMINER_PREFIX);
cgminer_path = alloca(PATH_MAX);
- strcpy(cgminer_path, dirname(argv[0]));
+ s = strdup(argv[0]);
+ strcpy(cgminer_path, dirname(s));
+ free(s);
strcat(cgminer_path, "/");
#ifdef WANT_CPUMINE
// Hack to make cgminer silent when called recursively on WIN32