[ppc64] fix a couple small OF device tree bugs which were overlooked, from Joel Schopp


---

 arch/ppc64/kernel/proc_ppc64.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff -puN arch/ppc64/kernel/proc_ppc64.c~ppc64-device_tree_updates_fix arch/ppc64/kernel/proc_ppc64.c
--- 25/arch/ppc64/kernel/proc_ppc64.c~ppc64-device_tree_updates_fix	2004-01-13 23:22:54.000000000 -0800
+++ 25-akpm/arch/ppc64/kernel/proc_ppc64.c	2004-01-13 23:22:54.000000000 -0800
@@ -254,7 +254,7 @@ static ssize_t ofdt_write(struct file *f
 	tmp++;
 
 	if (!strcmp(kbuf, "add_node"))
-		rv = do_add_node(tmp, 1 + count - (tmp - kbuf));
+		rv = do_add_node(tmp, count - (tmp - kbuf));
 	else if (!strcmp(kbuf, "remove_node"))
 		rv = do_remove_node(tmp);
 	else
@@ -334,11 +334,12 @@ static struct property *new_property(con
 
 	if (!(new->name = kmalloc(strlen(name) + 1, GFP_KERNEL)))
 		goto cleanup;
-	if (!(new->value = kmalloc(length, GFP_KERNEL)))
+	if (!(new->value = kmalloc(length + 1, GFP_KERNEL)))
 		goto cleanup;
 
 	strcpy(new->name, name);
 	memcpy(new->value, value, length);
+	*(((char *)new->value) + length) = 0;
 	new->length = length;
 	new->next = last;
 	return new;

_