[PATCH] cmd: pxe_utils: sysboot: fix crash if either board or soc are not set.

Dimitri John Ledkov xnox at ubuntu.com
Wed Apr 21 13:42:01 CEST 2021


If the environment does not have "soc" or "board" set, and fdtdir
option is specified in extlinux.conf, the bootloader will crash whilst
dereferencing a null pointer. Add a guard against null soc or
board. Fixes a crash of qemu-riscv64_smode configuration, which does
not have CONFIG_SYS_SOC defined.

Signed-off-by: Dimitri John Ledkov <xnox at ubuntu.com>
---
 cmd/pxe_utils.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/cmd/pxe_utils.c b/cmd/pxe_utils.c
index 71c5af4c25..9a30629e26 100644
--- a/cmd/pxe_utils.c
+++ b/cmd/pxe_utils.c
@@ -587,6 +587,14 @@ static int label_boot(struct cmd_tbl *cmdtp, struct pxe_label *label)
 				f2 = "-";
 				f3 = env_get("board");
 				f4 = ".dtb";
+				if (!f1) {
+					f1 = "";
+					f2 = "";
+				}
+				if (!f3) {
+					f2 = "";
+					f3 = "";
+				}
 			}
 
 			len = strlen(label->fdtdir);
-- 
2.27.0



More information about the U-Boot mailing list