Incrementing stasis_app_playback.media_index directly in our playback
loop means that when we reach the end of our playlist the index into
the vector will be outside of the bounds of the vector.
Instead use a temporary variable and only assign when we're sure that
we are in bounds.
ASTERISK-28713 #close
Reported by: Sébastien Duthil
Change-Id: Ib53f7f156097e0607eb5871d9d78d246ed274928
{
int res;
long offsetms;
+ size_t index;
/* Even though these local variables look fairly pointless, they avoid
* having a bunch of NULL's passed directly into
offsetms = playback->offsetms;
- for (; playback->media_index < AST_VECTOR_SIZE(&playback->medias); playback->media_index++) {
+ for (index = 0; index < AST_VECTOR_SIZE(&playback->medias); index++) {
+ playback->media_index = index;
/* Set the current media to play */
ast_string_field_set(playback, media, AST_VECTOR_GET(&playback->medias, playback->media_index));