]> git.alsa-project.org Git - alsa-utils.git/commitdiff
alsamixer: fix shift in parse_words()
authorJaroslav Kysela <perex@perex.cz>
Mon, 11 Jan 2021 09:44:38 +0000 (10:44 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 11 Jan 2021 09:46:49 +0000 (10:46 +0100)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
alsamixer/configparser.c

index 93aa72afd04d9354018c4e11b252e461c86428b8..7647987f84d629c670df64b550116cadc2ceb778 100644 (file)
@@ -155,7 +155,7 @@ const char *mixer_words =
 static unsigned int parse_words(const char *name, const char* wordlist, unsigned int itemlen, unsigned int *number) {
        unsigned int words = 0;
        unsigned int word;
-       unsigned int i;
+       int i;
        char buf[16];
        char *endptr;
 
@@ -181,7 +181,7 @@ static unsigned int parse_words(const char *name, const char* wordlist, unsigned
                        word = W_NUMBER;
                }
                else if ((i = strlist_index(wordlist, itemlen, buf)) >= 0)
-                       word = 2U << i;
+                       word = i <= 30 ? (2U << i) : 0;
                else
                        return 0;