Revision
23437
Author
zarzycki@apple.com
Date
2007-10-04 13:56:15 -0700 (Thu, 04 Oct 2007)

Log Message

<rdar://problem/5523343> Bug: launchd_core_logic.c:6450 (23433):35: jr->p

Modified Paths

Diff

Modified: trunk/launchd/src/launchd_core_logic.c (23436 => 23437)


--- trunk/launchd/src/launchd_core_logic.c	2007-10-04 20:39:01 UTC (rev 23436)
+++ trunk/launchd/src/launchd_core_logic.c	2007-10-04 20:56:15 UTC (rev 23437)
@@ -2515,6 +2515,11 @@
 			job_assumes(j, runtime_close(spair[0]) == 0);
 			job_assumes(j, runtime_close(spair[1]) == 0);
 		}
+		if (!j->legacy_mach_job) {
+			job_assumes(j, runtime_close(oepair[0]) != -1);
+			job_assumes(j, runtime_close(oepair[1]) != -1);
+			j->log_redirect_fd = 0;
+		}
 		break;
 	case 0:
 		if (_vproc_post_fork_ping()) {
@@ -6447,7 +6452,10 @@
 		return BOOTSTRAP_NO_MEMORY;
 	}
 
-	job_assumes(jr, jr->p);
+	if (!job_assumes(jr, jr->p)) {
+		job_remove(jr);
+		return BOOTSTRAP_NO_MEMORY;
+	}
 
 	if (!job_setup_machport(jr)) {
 		job_remove(jr);