strlcat takes the total buffer size, not the remaining space. Passing strlen(cmdline) + l caused it to truncate by one byte when the appended string fit within the buffer. This is also more consistent with the rest of the file. Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/23892 Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
21 lines
665 B
Diff
21 lines
665 B
Diff
From e08bcbbaa52fcc41f02743fd2e62a33255ce52da Mon Sep 17 00:00:00 2001
|
|
From: OpenWrt community <openwrt-devel@lists.openwrt.org>
|
|
Date: Wed, 13 Jul 2022 13:52:28 +0200
|
|
Subject: [PATCH] of/ftd: add device tree cmdline
|
|
|
|
---
|
|
drivers/of/fdt.c | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
--- a/drivers/of/fdt.c
|
|
+++ b/drivers/of/fdt.c
|
|
@@ -1116,6 +1116,9 @@ int __init early_init_dt_scan_chosen(cha
|
|
p = of_get_flat_dt_prop(node, "bootargs", &l);
|
|
if (p != NULL && l > 0)
|
|
strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE));
|
|
+ p = of_get_flat_dt_prop(node, "bootargs-append", &l);
|
|
+ if (p != NULL && l > 0)
|
|
+ strlcat(cmdline, p, COMMAND_LINE_SIZE);
|
|
|
|
handle_cmdline:
|
|
/*
|