The rescueboot script optionally runs a per-board rescue_reason hook
with:
if test -n ${rescue_reason}; then run rescue_reason; fi;
The default state is "no rescue reason script", i.e. rescue_reason
unset. The expression then expands to 'test -n' with no operand and
relies on a U-Boot 'test' quirk that treats a missing operand as
false to skip the run.
Quote the variable so an unset rescue_reason expands to 'test -n ""'
and the emptiness check is explicit.
Fixes: 8b0619579b22 ("cmd: test: fix handling of single-argument form of test")
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
"${pubkey}\0" \
"rescueboot=echo Booting rescue system ...; " \
"run addmtd addmisc;" \
- "if test -n ${rescue_reason}; then run rescue_reason;fi;" \
+ "if test -n \"${rescue_reason}\"; then run rescue_reason;fi;" \
"run boot_board_type;" \
"if bootm ${fit_addr_r}; then ; " \
"else " \