[PATCH 1/1] cmd: avoid endless loop in sound play command

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Sat Dec 31 00:54:19 CET 2022


A parameter starting with a hyphen leads to an endless loop in the sound
play command.

Leave it to dectoul() to handle the hyphen. It will return 0 for a negative
number.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
 cmd/sound.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cmd/sound.c b/cmd/sound.c
index cef71be5e3..0b7f959971 100644
--- a/cmd/sound.c
+++ b/cmd/sound.c
@@ -48,12 +48,12 @@ static int do_play(struct cmd_tbl *cmdtp, int flag, int argc,
 	++argv;
 	while (argc || first) {
 		first = false;
-		if (argc && *argv[0] != '-') {
+		if (argc) {
 			msec = dectoul(argv[0], NULL);
 			--argc;
 			++argv;
 		}
-		if (argc && *argv[0] != '-') {
+		if (argc) {
 			freq = dectoul(argv[0], NULL);
 			--argc;
 			++argv;
-- 
2.37.2



More information about the U-Boot mailing list