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

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@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;

On Fri, 30 Dec 2022 at 17:54, Heinrich Schuchardt heinrich.schuchardt@canonical.com wrote:
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@canonical.com
cmd/sound.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
Could add a test for this command perhaps
participants (2)
-
Heinrich Schuchardt
-
Simon Glass