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.schucha...@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

Reply via email to