Skip to content

Commit

Permalink
MIPS: Cobalt use strlcat() for the command line arguments
Browse files Browse the repository at this point in the history
Tested with CoLo v1.22

Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org>
Patchwork: http://patchwork.linux-mips.org/patch/807/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Yoichi Yuasa authored and Ralf Baechle committed Jan 12, 2010
1 parent c6a3c85 commit 0833c76
Showing 1 changed file with 8 additions and 16 deletions.
24 changes: 8 additions & 16 deletions arch/mips/cobalt/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -97,26 +97,18 @@ void __init plat_mem_setup(void)

void __init prom_init(void)
{
int narg, indx, posn, nchr;
unsigned long memsz;
int argc, i;
char **argv;

memsz = fw_arg0 & 0x7fff0000;
narg = fw_arg0 & 0x0000ffff;

if (narg) {
arcs_cmdline[0] = '\0';
argv = (char **) fw_arg1;
posn = 0;
for (indx = 1; indx < narg; ++indx) {
nchr = strlen(argv[indx]);
if (posn + 1 + nchr + 1 > sizeof(arcs_cmdline))
break;
if (posn)
arcs_cmdline[posn++] = ' ';
strcpy(arcs_cmdline + posn, argv[indx]);
posn += nchr;
}
argc = fw_arg0 & 0x0000ffff;
argv = (char **)fw_arg1;

for (i = 1; i < argc; i++) {
strlcat(arcs_cmdline, argv[i], COMMAND_LINE_SIZE);
if (i < (argc - 1))
strlcat(arcs_cmdline, " ", COMMAND_LINE_SIZE);
}

add_memory_region(0x0, memsz, BOOT_MEM_RAM);
Expand Down

0 comments on commit 0833c76

Please sign in to comment.