Skip to contentSkip to conversation

Fix handling of some broken test expressions

PATCH New Domenico Andreoli 1 participant 1 message Nov 15, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix handling of some broken test expressions

Observed incorrect bahavior (some debug traces are enabled):

U-Boot# test = yes
test(3): '=' 'yes': returns 0
U-Boot# test yes =
test(3): 'yes' '=': returns 0

This means that any "if test" with such broken expressions (maybe due to an empty variable) in incorrectly evaluated as true.

---
 common/cmd_test.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
common/cmd_test.c +1 -1
index d4ec186..dedda30 100644
@@ -64,7 +64,7 @@ static int do_test(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 			adv = 3;
 
 		if (left < adv) {
-			expr = 1;
+			expr = 0;
 			break;
 		}
 
Signature · 1 line
1.7.10.4