summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2021-08-11 10:56:14 -0400
committerWilliam Wilgus <wilgus.william@gmail.com>2021-08-11 10:56:14 -0400
commit1dd531ff0333c54553560fe306260d9d81a931c7 (patch)
tree86d3dd1838c0eec7d08226f091ca1b0f71a32529
parente3e72d6dba080c31b717ee3b53a3fde181123766 (diff)
downloadrockbox-1dd531ff0333c54553560fe306260d9d81a931c7.tar.gz
rockbox-1dd531ff0333c54553560fe306260d9d81a931c7.zip
codec_thread.c don't overrun audio_formats[] array
Change-Id: I58941cea061f41478d7677beb9ff42e28b2455a6
-rw-r--r--apps/codec_thread.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/apps/codec_thread.c b/apps/codec_thread.c
index 807c0b6e8e..999b844349 100644
--- a/apps/codec_thread.c
+++ b/apps/codec_thread.c
@@ -183,14 +183,16 @@ const char * get_codec_filename(int cod_spec)
183 /* Can choose decoder or encoder if one available */ 183 /* Can choose decoder or encoder if one available */
184 int type = cod_spec & CODEC_TYPE_MASK; 184 int type = cod_spec & CODEC_TYPE_MASK;
185 int afmt = cod_spec & CODEC_AFMT_MASK; 185 int afmt = cod_spec & CODEC_AFMT_MASK;
186 186 int tmp_fmt = afmt;
187 if ((unsigned)afmt >= AFMT_NUM_CODECS) 187 if ((unsigned)afmt >= AFMT_NUM_CODECS)
188 {
188 type = AFMT_UNKNOWN | (type & CODEC_TYPE_MASK); 189 type = AFMT_UNKNOWN | (type & CODEC_TYPE_MASK);
189 190 tmp_fmt = AFMT_UNKNOWN;
191 }
190 fname = (type == CODEC_TYPE_ENCODER) ? 192 fname = (type == CODEC_TYPE_ENCODER) ?
191 audio_formats[afmt].codec_enc_root_fn : 193 audio_formats[tmp_fmt].codec_enc_root_fn :
192 audio_formats[afmt].codec_root_fn; 194 audio_formats[tmp_fmt].codec_root_fn;
193 195
194 logf("%s: %d - %s", 196 logf("%s: %d - %s",
195 (type == CODEC_TYPE_ENCODER) ? "Encoder" : "Decoder", 197 (type == CODEC_TYPE_ENCODER) ? "Encoder" : "Decoder",
196 afmt, fname ? fname : "<unknown>"); 198 afmt, fname ? fname : "<unknown>");