[launchd-changes] [23703] trunk/launchd/src/liblaunch.c

source_changes at macosforge.org source_changes at macosforge.org
Wed Aug 27 14:50:57 PDT 2008


Revision: 23703
          http://trac.macosforge.org/projects/launchd/changeset/23703
Author:   dsorresso at apple.com
Date:     2008-08-27 14:50:57 -0700 (Wed, 27 Aug 2008)
Log Message:
-----------
Oops, wrong branch for rdar://problem/5978442.

Modified Paths:
--------------
    trunk/launchd/src/liblaunch.c

Modified: trunk/launchd/src/liblaunch.c
===================================================================
--- trunk/launchd/src/liblaunch.c	2008-08-27 18:34:05 UTC (rev 23702)
+++ trunk/launchd/src/liblaunch.c	2008-08-27 21:50:57 UTC (rev 23703)
@@ -608,17 +608,16 @@
 launch_data_pack(launch_data_t d, void *where, size_t len, int *fd_where, size_t *fd_cnt)
 {
 	launch_data_t o_in_w = where;
-	size_t i, rsz, node_data_len = sizeof(struct _launch_data);
+	size_t i, rsz, total_data_len = sizeof(struct _launch_data);
 
-	if (node_data_len > len) {
+	if (total_data_len > len) {
 		return 0;
 	}
 
-	where += node_data_len;
+	where += total_data_len;
 
 	o_in_w->type = host2wire(d->type);
 
-	size_t pad_len = 0;
 	switch (d->type) {
 	case LAUNCH_DATA_INTEGER:
 		o_in_w->number = host2wire(d->number);
@@ -641,55 +640,44 @@
 		break;
 	case LAUNCH_DATA_STRING:
 		o_in_w->string_len = host2wire(d->string_len);
-		node_data_len += ROUND_TO_64BIT_WORD_SIZE(d->string_len + 1);
-		
-		if (node_data_len > len) {
+		total_data_len += ROUND_TO_64BIT_WORD_SIZE(strlen(d->string) + 1);
+		if (total_data_len > len) {
 			return 0;
 		}
-		memcpy(where, d->string, d->string_len + 1);
-		
-		/* Zero padded data. */
-		pad_len = ROUND_TO_64BIT_WORD_SIZE(d->string_len + 1) - (d->string_len + 1);
-		bzero(where + d->string_len + 1, pad_len);
-		
+		memcpy(where, d->string, strlen(d->string) + 1);
 		break;
 	case LAUNCH_DATA_OPAQUE:
 		o_in_w->opaque_size = host2wire(d->opaque_size);
-		node_data_len += ROUND_TO_64BIT_WORD_SIZE(d->opaque_size);
-		if (node_data_len > len) {
+		total_data_len += ROUND_TO_64BIT_WORD_SIZE(d->opaque_size);
+		if (total_data_len > len) {
 			return 0;
 		}
 		memcpy(where, d->opaque, d->opaque_size);
-		
-		/* Zero padded data. */
-		pad_len = ROUND_TO_64BIT_WORD_SIZE(d->opaque_size) - d->opaque_size;
-		bzero(where + d->opaque_size, pad_len);
-		
 		break;
 	case LAUNCH_DATA_DICTIONARY:
 	case LAUNCH_DATA_ARRAY:
 		o_in_w->_array_cnt = host2wire(d->_array_cnt);
-		node_data_len += d->_array_cnt * sizeof(uint64_t);
-		if (node_data_len > len) {
+		total_data_len += d->_array_cnt * sizeof(uint64_t);
+		if (total_data_len > len) {
 			return 0;
 		}
 
 		where += d->_array_cnt * sizeof(uint64_t);
 
 		for (i = 0; i < d->_array_cnt; i++) {
-			rsz = launch_data_pack(d->_array[i], where, len - node_data_len, fd_where, fd_cnt);
+			rsz = launch_data_pack(d->_array[i], where, len - total_data_len, fd_where, fd_cnt);
 			if (rsz == 0) {
 				return 0;
 			}
 			where += rsz;
-			node_data_len += rsz;
+			total_data_len += rsz;
 		}
 		break;
 	default:
 		break;
 	}
 
-	return node_data_len;
+	return total_data_len;
 }
 
 launch_data_t
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20080827/a8f26db2/attachment.html 


More information about the launchd-changes mailing list