Commit 28ac422ab8abf8bdc42090c4d308c84422e3b418

Con Kolivas 2012-07-29T03:45:10

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