diff -r f8ddcb758117 xen/arch/powerpc/domain_build.c --- a/xen/arch/powerpc/domain_build.c Sun Jan 28 19:02:00 2007 +0000 +++ b/xen/arch/powerpc/domain_build.c Mon Jan 29 14:01:47 2007 +0100 @@ -290,7 +290,7 @@ int construct_dom0(struct domain *d, memset(si->cmd_line, 0, sizeof(si->cmd_line)); if ( cmdline != NULL ) - strncpy((char *)si->cmd_line, cmdline, sizeof(si->cmd_line)-1); + strlcpy((char *)si->cmd_line, cmdline, sizeof(si->cmd_line)); v->arch.ctxt.msr = msr; v->arch.ctxt.pc = pc; diff -r f8ddcb758117 xen/arch/powerpc/of-devtree.c --- a/xen/arch/powerpc/of-devtree.c Sun Jan 28 19:02:00 2007 +0000 +++ b/xen/arch/powerpc/of-devtree.c Mon Jan 29 14:02:11 2007 +0100 @@ -358,8 +358,7 @@ static ofdn_t ofd_node_create( n->on_io = 0; n->on_pathlen = pathlen; n->on_last = ofd_pathsplit_left(path, '/', pathlen); - strncpy(n->on_path, path, pathlen); - n->on_path[n->on_pathlen] = 0; + strlcpy(n->on_path, path, pathlen); return pos; } diff -r f8ddcb758117 xen/arch/powerpc/ofd_fixup.c --- a/xen/arch/powerpc/ofd_fixup.c Sun Jan 28 19:02:00 2007 +0000 +++ b/xen/arch/powerpc/ofd_fixup.c Mon Jan 29 14:39:01 2007 +0100 @@ -267,7 +267,7 @@ static ofdn_t ofd_chosen_props(void *m, &path[1], sizeof (path) - 1); } - strcpy(bootargs, cmdline); + strlcpy(bootargs, cmdline, sizeof(bootargs)); bsz = strlen(bootargs) + 1; rm = sizeof (bootargs) - bsz;