+Simon Hello Tom,
On Thu, Apr 09, 2026 at 11:07:31AM +0200, Rasmus Villemoes wrote: > On Fri, Apr 03 2026, Francesco Dolcini <[email protected]> wrote: > > On Thu, Apr 02, 2026 at 05:30:29PM -0600, Tom Rini wrote: > >> On Wed, Apr 01, 2026 at 07:10:27AM +0200, Francesco Dolcini wrote: > >> > On Tue, Mar 31, 2026 at 10:10:10AM +0200, Franz Schnyder wrote: > >> > > From: Franz Schnyder <[email protected]> > >> > > > >> > > With correct POSIX handling, unquoted empty variables can turn the > >> > > expression like > >> > > test -n ${fdtfile} > >> > > into > >> > > test -n > >> > > > >> > > The POSIX handling for single argument `test` evaluates it as true, > >> > > so the fallback initialization will be skipped unexpectedly. > >> > > Quoting variable expansions in `test` expressions will always result in > >> > > correct behavior for empty and non-empty values. > >> > > This change was triggered by > >> > > commit 8b0619579b22 ("cmd: test: fix handling of single-argument form > >> > > of test") > >> > > The aim is to have a less fragile codebase that is not dependent on a > >> > > quirk of the shell implementation. > >> > > > >> > > Use quoted variable expansions in `test` expressions throughout. > >> > > > >> > > Signed-off-by: Franz Schnyder <[email protected]> > >> > > >> > Acked-by: Francesco Dolcini <[email protected]> > >> > >> I've decided to go with: > >> https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/ > >> to make sure that everyone that might hit this problem doesn't end up > >> broken, thanks. > > > > I am wondering if you should apply this in any case. This change is > > generally correct. > > I agree. And note that this really isn't anything to do with the 'test' > command per se, it's simply that using any variable whose value can be > empty or contain spaces is prone to produce something other than exactly > 1 word, exactly as in userspace shell, and once the shell has done its > parsing and word splitting, the called command really has no way of > knowing that there's an empty argument missing. Tom? I think this should be applied, see also the related change from Simon. Francesco

