MIPS: Yosemite, Emma: Fix off-by-two in arcs_cmdline buffer size check
Cause is a misplaced bracket. The code strlen(buf+1) will be two bytes less than strlen(buf)+1 The +1 is in this code to reserve space for an additional space character. [ralf@linux-mips.org: Thomas' original patch fixed the issue only for Yosemite but the same bug exists also in Emma.] Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com> Patchwork: https://patchwork.linux-mips.org/patch/2861/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
1ea6b8f489
commit
617d101754
2 changed files with 2 additions and 2 deletions
|
@ -50,7 +50,7 @@ void __init prom_init(void)
|
|||
|
||||
/* arg[0] is "g", the rest is boot parameters */
|
||||
for (i = 1; i < argc; i++) {
|
||||
if (strlen(arcs_cmdline) + strlen(arg[i] + 1)
|
||||
if (strlen(arcs_cmdline) + strlen(arg[i]) + 1
|
||||
>= sizeof(arcs_cmdline))
|
||||
break;
|
||||
strcat(arcs_cmdline, arg[i]);
|
||||
|
|
|
@ -102,7 +102,7 @@ void __init prom_init(void)
|
|||
|
||||
/* Get the boot parameters */
|
||||
for (i = 1; i < argc; i++) {
|
||||
if (strlen(arcs_cmdline) + strlen(arg[i] + 1) >=
|
||||
if (strlen(arcs_cmdline) + strlen(arg[i]) + 1 >=
|
||||
sizeof(arcs_cmdline))
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in a new issue