Revision
1022
Author
kvv@apple.com
Date
2012-02-15 14:25:17 -0800 (Wed, 15 Feb 2012)

Log Message

Merge PR-10827653

Modified Paths

Property Changed

Diff

Property changes: trunk


Modified: svn:mergeinfo

/branches/PR-10307836:993-996 /branches/PR-10363375:959-960 /branches/PR-10397485:967 /branches/PR-10412052:973-975 /branches/PR-10412066:974-975 /branches/PR-10428083:994-997 /branches/PR-10431324:979-980 /branches/PR-10821792:1007-1010 /branches/PR-10830883:1015 /branches/PR-4841388:399-419 /branches/PR-6358021:442-443 /branches/PR-6392966:423-427 /branches/PR-6398060:433-434 /branches/PR-6493844:460-461 /branches/PR-6497694:466-468,471 /branches/PR-6634286:632-650 /branches/PR-6688645:479-490 /branches/PR-6722857:495-499 /branches/PR-6729491:655-664 /branches/PR-6973110:804-813 /branches/PR-7250612:635-650 /branches/PR-7341154:682-694 /branches/PR-7431723:660-664 /branches/PR-7461534:650-664 /branches/PR-7482850:670-671 /branches/PR-7489777:676-731 /branches/PR-7529688:692-694 /branches/PR-7593824:739-772 /branches/PR-7598640:703-731 /branches/PR-7748469:777-785 /branches/PR-7765119:790-791 /branches/PR-7798586:796-799 /branches/PR-7872907:830-840 /branches/PR-7935095:819-821 /branches/PR-8116613:849 /branches/PR-8279204:854-862 /branches/PR-8416637:870-880 /branches/PR-8486662:885-889 /branches/PR-8488185:894-898 /branches/PR-8604911:903-905 /branches/PR-8817822:917-933 /branches/PR-8908468:912 /branches/PR-9697169:1004-1008 /branches/PR-9709247:1002-1009 + /branches/PR-10008999:984 /branches/PR-10307836:993-996 /branches/PR-10363375:959-960 /branches/PR-10397485:967 /branches/PR-10412052:973-975 /branches/PR-10412066:974-975 /branches/PR-10428083:994-997 /branches/PR-10431324:979-980 /branches/PR-10821792:1007-1010 /branches/PR-10827653:1021 /branches/PR-10830883:1015 /branches/PR-4841388:399-419 /branches/PR-6358021:442-443 /branches/PR-6392966:423-427 /branches/PR-6398060:433-434 /branches/PR-6493844:460-461 /branches/PR-6497694:466-468,471 /branches/PR-6634286:632-650 /branches/PR-6688645:479-490 /branches/PR-6722857:495-499 /branches/PR-6729491:655-664 /branches/PR-6973110:804-813 /branches/PR-7250612:635-650 /branches/PR-7341154:682-694 /branches/PR-7431723:660-664 /branches/PR-7461534:650-664 /branches/PR-7482850:670-671 /branches/PR-7489777:676-731 /branches/PR-7529688:692-694 /branches/PR-7593824:739-772 /branches/PR-7598640:703-731 /branches/PR-7748469:777-785 /branches/PR-7765119:790-791 /branches/PR-7798586:796-799 /branches/PR-7872907:830-840 /branches/PR-7935095:819-821 /branches/PR-8116613:849 /branches/PR-8279204:854-862 /branches/PR-8416637:870-880 /branches/PR-8486662:885-889 /branches/PR-8488185:894-898 /branches/PR-8604911:903-905 /branches/PR-8817822:917-933 /branches/PR-8908468:912 /branches/PR-9697169:1004-1008 /branches/PR-9709247:1002-1009

Modified: trunk/CHANGES (1021 => 1022)


--- trunk/CHANGES	2012-02-15 18:58:47 UTC (rev 1021)
+++ trunk/CHANGES	2012-02-15 22:25:17 UTC (rev 1022)
@@ -1,5 +1,8 @@
 Darwin Build Scripts Change History
 -----------------------------------
+Release 29 [15-Feb-2012]
+	- darwintrace: posix_spawn may have NULL envp parameter
+
 Release 28.1 [9-Feb-2012]
 	- darwinup: Don't include actual mach-o binaries in the test suite.
 

Modified: trunk/darwintrace/darwintrace.c (1021 => 1022)


--- trunk/darwintrace/darwintrace.c	2012-02-15 18:58:47 UTC (rev 1021)
+++ trunk/darwintrace/darwintrace.c	2012-02-15 22:25:17 UTC (rev 1022)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005-2011 Apple Inc. All rights reserved.
+ * Copyright (c) 2005-2012 Apple Inc. All rights reserved.
  *
  * @APPLE_BSD_LICENSE_HEADER_START@
  * 
@@ -393,11 +393,13 @@
     int count = 0;    
 
     /* count the environment variables */
-    while (envp[count] != NULL) {
-        if (has_prefix(envp[count], DYLD_INSERT_LIBRARIES)) {
-            libs = envp[count] + strlen(DYLD_INSERT_LIBRARIES);
+    if (envp) {
+        while (envp[count] != NULL) {
+            if (has_prefix(envp[count], DYLD_INSERT_LIBRARIES)) {
+                libs = envp[count] + strlen(DYLD_INSERT_LIBRARIES);
+            }
+            ++count;
         }
-        ++count;
     }
     
     /* allocate size of envp with enough space for three more values and NULL */
@@ -435,7 +437,9 @@
         }
         ++i;
 
-        memcpy(&result[i], envp, count * sizeof(char *));
+        if (envp) {
+            memcpy(&result[i], envp, count * sizeof(char *));
+        }
 
         while (result[i] != NULL) {
             if (has_prefix(result[i], DARWINTRACE_IGNORE_ROOTS) ||