From: Jamin Lin Date: Wed, 21 May 2025 01:21:20 +0000 (+0800) Subject: uboot-sign: Fix unintended "-e" written into ITS X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1d5d22a38188f2c879e289a9732b620b0a6f7a6e;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git uboot-sign: Fix unintended "-e" written into ITS 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 --- diff --git a/meta/classes-recipe/uboot-sign.bbclass b/meta/classes-recipe/uboot-sign.bbclass index e0771b5429..dcf94b7179 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