Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 617d1017 authored by Thomas Jarosch's avatar Thomas Jarosch Committed by Ralf Baechle
Browse files

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: default avatarThomas Jarosch <thomas.jarosch@intra2net.com>
Patchwork: https://patchwork.linux-mips.org/patch/2861/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 1ea6b8f4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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]);
+1 −1
Original line number Diff line number Diff line
@@ -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;