From 1d5d22a38188f2c879e289a9732b620b0a6f7a6e Mon Sep 17 00:00:00 2001 From: Jamin Lin Date: Wed, 21 May 2025 09:21:20 +0800 Subject: [PATCH] uboot-sign: Fix unintended "-e" written into ITS MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit An unintended "-e" string may be written into the generated ITS file when users set the UBOOT_FIT_USER_SETTINGS variable to include custom binaries in the U-Boot image. This issue is caused by the use of 'echo -e', which behaves inconsistently across different shells. While bash interprets '-e' as enabling escape sequences (e.g., \n, \t), dash—the default /bin/sh on many systems—does not recognize '-e' and treats it as a literal string. As a result, "-e" can be mistakenly injected into the ITS file under certain build environments. To ensure consistent and shell-agnostic behavior, replace 'echo -e' with 'printf', which is well-defined by POSIX and behaves reliably across all common shells. This change improves portability and prevents malformed ITS files caused by unintended string injection. Fixes: c12e013 ("uboot-sign: support to add users specific image tree source") Signed-off-by: Jamin Lin Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- meta/classes-recipe/uboot-sign.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes-recipe/uboot-sign.bbclass b/meta/classes-recipe/uboot-sign.bbclass index e0771b54291..dcf94b71790 100644 --- a/meta/classes-recipe/uboot-sign.bbclass +++ b/meta/classes-recipe/uboot-sign.bbclass @@ -425,7 +425,7 @@ EOF fi if [ -n "${UBOOT_FIT_USER_SETTINGS}" ] ; then - echo -e "${UBOOT_FIT_USER_SETTINGS}" >> ${UBOOT_ITS} + printf "%b" "${UBOOT_FIT_USER_SETTINGS}" >> ${UBOOT_ITS} fi if [ -n "${UBOOT_FIT_CONF_USER_LOADABLES}" ] ; then -- 2.47.3