[launchd-changes] [22931] trunk/launchd/src

source_changes at macosforge.org source_changes at macosforge.org
Thu Nov 2 13:22:06 PST 2006


Revision: 22931
          http://trac.macosforge.org/projects/launchd/changeset/22931
Author:   zarzycki at apple.com
Date:     2006-11-02 13:22:06 -0800 (Thu, 02 Nov 2006)

Log Message:
-----------
Avoid sprintf() where we can.

Modified Paths:
--------------
    trunk/launchd/src/launchd.c
    trunk/launchd/src/launchd_core_logic.c
    trunk/launchd/src/launchd_runtime.c
    trunk/launchd/src/libvproc.c

Modified: trunk/launchd/src/launchd.c
===================================================================
--- trunk/launchd/src/launchd.c	2006-11-01 21:43:30 UTC (rev 22930)
+++ trunk/launchd/src/launchd.c	2006-11-02 21:22:06 UTC (rev 22931)
@@ -272,7 +272,7 @@
 	}
 
 	if (h) {
-		sprintf(ldconf, "%s/%s", h, LAUNCHD_CONF);
+		snprintf(ldconf, sizeof(ldconf), "%s/%s", h, LAUNCHD_CONF);
 	}
 
 	rlcj = job_new(root_job, READCONF_LABEL, LAUNCHCTL_PATH, NULL, ldconf, MACH_PORT_NULL);

Modified: trunk/launchd/src/launchd_core_logic.c
===================================================================
--- trunk/launchd/src/launchd_core_logic.c	2006-11-01 21:43:30 UTC (rev 22930)
+++ trunk/launchd/src/launchd_core_logic.c	2006-11-02 21:22:06 UTC (rev 22931)
@@ -715,11 +715,11 @@
 	}
 
 	/* preflight the string so we know how big it is */
-	sprintf(buf, "%s.%s", sizeof(void *) == 8 ? "0xdeadbeeffeedface" : "0xbabecafe", basename((char *)argv[0]));
+	snprintf(buf, sizeof(buf), "%s.%s", sizeof(void *) == 8 ? "0xdeadbeeffeedface" : "0xbabecafe", basename((char *)argv[0]));
 
 	j = job_new(jbs, buf, NULL, argv, NULL, MACH_PORT_NULL);
 
-	sprintf(j->label, "%p.%s", j, basename(j->argv[0]));
+	snprintf(j->label, strlen(j->label) + 1, "%p.%s", j, basename(j->argv[0]));
 
 	free(argv);
 
@@ -830,7 +830,7 @@
 	char newlabel[1000], *procname = "unknown";
 	job_t jr;
 
-	sprintf(newlabel, "%u.anonymous", MACH_PORT_INDEX(p->bs_port));
+	snprintf(newlabel, sizeof(newlabel), "%u.anonymous", MACH_PORT_INDEX(p->bs_port));
 
 	if ((jr = job_new(p, newlabel, procname, NULL, NULL, MACH_PORT_NULL))) {
 		jr->anonymous = true;
@@ -1746,7 +1746,7 @@
 
 		if (sipc) {
 			job_assumes(j, close(spair[0]) == 0);
-			sprintf(nbuf, "%d", spair[1]);
+			snprintf(nbuf, sizeof(nbuf), "%d", spair[1]);
 			setenv(LAUNCHD_TRUSTED_FD_ENV, nbuf, 1);
 		}
 		job_start_child(j, execspair[1]);
@@ -2133,9 +2133,9 @@
 	o = job_prep_log_preface(j, newmsg);
 
 	if (err) {
-		sprintf(newmsg + o, ": %s: %s", msg, strerror(err));
+		snprintf(newmsg + o, sizeof(newmsg) - o, ": %s: %s", msg, strerror(err));
 	} else {
-		sprintf(newmsg + o, ": %s", msg);
+		snprintf(newmsg + o, sizeof(newmsg) - o, ": %s", msg);
 	}
 
 	if (j->debug) {
@@ -2409,7 +2409,7 @@
 	}
 
 	for (i = 0; i < sg->fd_cnt; i++)
-		buf_off += sprintf(buf + buf_off, " %d", sg->fds[i]);
+		buf_off += snprintf(buf + buf_off, sizeof(buf) - buf_off, " %d", sg->fds[i]);
 
 	job_log(j, LOG_DEBUG, "Ignoring Sockets:%s", buf);
 
@@ -2428,7 +2428,7 @@
 	}
 
 	for (i = 0; i < sg->fd_cnt; i++)
-		buf_off += sprintf(buf + buf_off, " %d", sg->fds[i]);
+		buf_off += snprintf(buf + buf_off, sizeof(buf) - buf_off, " %d", sg->fds[i]);
 
 	job_log(j, LOG_DEBUG, "Watching sockets:%s", buf);
 
@@ -2963,7 +2963,7 @@
 		goto out_bad;
 	}
 
-	sprintf(j->label, "%d", MACH_PORT_INDEX(j->bs_port));
+	snprintf(j->label, strlen(j->label) + 1, "%d", MACH_PORT_INDEX(j->bs_port));
 
 	/* Sigh... at the moment, MIG has maxsize == sizeof(reply union) */
 	mxmsgsz = sizeof(union __RequestUnion__job_mig_protocol_vproc_subsystem);
@@ -3280,7 +3280,7 @@
 	char pidstr[100];
 	pid_t sp;
 	
-	sprintf(pidstr, "%u", j->p);
+	snprintf(pidstr, sizeof(pidstr), "%u", j->p);
 
 	switch ((sp = fork())) {
 	case -1:

Modified: trunk/launchd/src/launchd_runtime.c
===================================================================
--- trunk/launchd/src/launchd_runtime.c	2006-11-01 21:43:30 UTC (rev 22930)
+++ trunk/launchd/src/launchd_runtime.c	2006-11-02 21:22:06 UTC (rev 22931)
@@ -678,7 +678,7 @@
 		return;
 	}
 
-	sprintf(newmsg, "p%u pp%u\t", getpid(), getppid());
+	snprintf(newmsg, sizeof(newmsg), "p%u pp%u\t", getpid(), getppid());
 
 	for (i = 0, j = strlen(newmsg); message[i];) {
 		if (message[i] == '%' && message[i + 1] == 'm') {

Modified: trunk/launchd/src/libvproc.c
===================================================================
--- trunk/launchd/src/libvproc.c	2006-11-01 21:43:30 UTC (rev 22930)
+++ trunk/launchd/src/libvproc.c	2006-11-02 21:22:06 UTC (rev 22931)
@@ -193,8 +193,7 @@
 {
 	char flat_msg[3000];
 
-	snprintf(flat_msg, sizeof(flat_msg) - 1, msg, ap);
-	flat_msg[sizeof(flat_msg) - 1] = '\0';
+	vsnprintf(flat_msg, sizeof(flat_msg), msg, ap);
 
 	vproc_mig_log(bootstrap_port, pri, err, flat_msg);
 }

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20061102/c4140963/attachment.html


More information about the launchd-changes mailing list