[66625] trunk/base/src/darwintracelib1.0/darwintrace.c

raimue at macports.org raimue at macports.org
Sun Apr 18 03:27:56 PDT 2010


Revision: 66625
          http://trac.macports.org/changeset/66625
Author:   raimue at macports.org
Date:     2010-04-18 03:27:55 -0700 (Sun, 18 Apr 2010)
Log Message:
-----------
darwintrace: Handle getcwd and connect failures with abort()

Modified Paths:
--------------
    trunk/base/src/darwintracelib1.0/darwintrace.c

Modified: trunk/base/src/darwintracelib1.0/darwintrace.c
===================================================================
--- trunk/base/src/darwintracelib1.0/darwintrace.c	2010-04-18 10:20:58 UTC (rev 66624)
+++ trunk/base/src/darwintracelib1.0/darwintrace.c	2010-04-18 10:27:55 UTC (rev 66625)
@@ -344,7 +344,8 @@
 				__darwintrace_fd=sock;
 				ask_for_filemap();
 			} else {
-				dprintf("connect failed %d :-(\n", errno);
+				dprintf("connect failed: %s\n", strerror(errno));
+				abort();
 			}
 			errno = olderrno;
 		}
@@ -549,12 +550,14 @@
 		p=strdup(path);
 	else
 	{
-		p=(char*)malloc(BUFFER_SIZE);
-		(void) getcwd(p, BUFFER_SIZE-1);
-		_=p+strlen(p)+1;
-		if(_[-1]!='/')
-			*_++='/';
-		strncpy(_, path, BUFFER_SIZE-(_-p));
+		p=(char*)malloc(MAXPATHLEN);
+		if (getcwd(p, MAXPATHLEN-1) == NULL) {
+			fprintf(stderr, "darwintrace: getcwd: %s, path was: %s\n", strerror(errno), path);
+			abort();
+		}
+		if (p[strlen(p)-1] != '/')
+			strcat(p, "/");
+		strcat(p, path);
 	}
 	__darwintrace_cleanup_path(p);
 			
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100418/597d7359/attachment.html>


More information about the macports-changes mailing list