diff options
author | Eric Laurent <elaurent@google.com> | 2016-10-12 10:38:12 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2016-10-12 18:25:12 +0000 |
commit | ff3e6f401eb371bd51eaed91bfec1728ec22f3d1 (patch) | |
tree | 4893f6efc0e44030f18e7770d0c71c3226479902 | |
parent | bfab6fae721d04225581aaa26d8b37a19d549943 (diff) | |
download | media-android-7.1.1_r16.tar.gz |
audio_route: add check on enum valuesandroid-cts_7.1_r1android-cts-7.1_r9android-cts-7.1_r8android-cts-7.1_r7android-cts-7.1_r6android-cts-7.1_r5android-cts-7.1_r4android-cts-7.1_r3android-cts-7.1_r29android-cts-7.1_r28android-cts-7.1_r27android-cts-7.1_r26android-cts-7.1_r25android-cts-7.1_r24android-cts-7.1_r23android-cts-7.1_r22android-cts-7.1_r21android-cts-7.1_r20android-cts-7.1_r2android-cts-7.1_r19android-cts-7.1_r18android-cts-7.1_r17android-cts-7.1_r16android-cts-7.1_r15android-cts-7.1_r14android-cts-7.1_r13android-cts-7.1_r12android-cts-7.1_r11android-cts-7.1_r10android-cts-7.1_r1android-7.1.1_r9android-7.1.1_r8android-7.1.1_r7android-7.1.1_r6android-7.1.1_r58android-7.1.1_r57android-7.1.1_r56android-7.1.1_r55android-7.1.1_r54android-7.1.1_r53android-7.1.1_r52android-7.1.1_r51android-7.1.1_r50android-7.1.1_r49android-7.1.1_r48android-7.1.1_r47android-7.1.1_r46android-7.1.1_r45android-7.1.1_r44android-7.1.1_r43android-7.1.1_r42android-7.1.1_r41android-7.1.1_r40android-7.1.1_r4android-7.1.1_r39android-7.1.1_r38android-7.1.1_r35android-7.1.1_r33android-7.1.1_r32android-7.1.1_r31android-7.1.1_r3android-7.1.1_r28android-7.1.1_r27android-7.1.1_r26android-7.1.1_r25android-7.1.1_r24android-7.1.1_r23android-7.1.1_r22android-7.1.1_r21android-7.1.1_r20android-7.1.1_r2android-7.1.1_r17android-7.1.1_r16android-7.1.1_r15android-7.1.1_r14android-7.1.1_r13android-7.1.1_r12android-7.1.1_r11android-7.1.1_r10android-7.1.1_r1nougat-mr1.7-releasenougat-mr1.6-releasenougat-mr1.5-releasenougat-mr1.4-releasenougat-mr1.3-releasenougat-mr1.2-releasenougat-mr1.1-releasenougat-mr1-volantis-releasenougat-mr1-releasenougat-mr1-flounder-releasenougat-mr1-devnougat-mr1-cts-release
Bug: 31906753
Bug: 32064030
Change-Id: Id57ad136b2c314040e6cbf62a3319ecef2c2114b
-rw-r--r-- | audio_route/audio_route.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/audio_route/audio_route.c b/audio_route/audio_route.c index 90b114d5..bd5c1124 100644 --- a/audio_route/audio_route.c +++ b/audio_route/audio_route.c @@ -420,13 +420,24 @@ static int path_reset(struct audio_route *ar, struct mixer_path *path) static int mixer_enum_string_to_value(struct mixer_ctl *ctl, const char *string) { unsigned int i; + unsigned int num_values = mixer_ctl_get_num_enums(ctl); + + if (string == NULL) { + ALOGE("NULL enum value string passed to mixer_enum_string_to_value() for ctl %s", + mixer_ctl_get_name(ctl)); + return 0; + } /* Search the enum strings for a particular one */ - for (i = 0; i < mixer_ctl_get_num_enums(ctl); i++) { + for (i = 0; i < num_values; i++) { if (strcmp(mixer_ctl_get_enum_string(ctl, i), string) == 0) break; } - + if (i == num_values) { + ALOGE("unknown enum value string %s for ctl %s", + string, mixer_ctl_get_name(ctl)); + return 0; + } return i; } |