# HG changeset patch # User pross # Date 1267709161 0 # Node ID ee8f29f3f9f719b156ed9285322102ffaf9a27bf # Parent 551765b1772bea8a17e6b406d0e8e2172cf86515 Guard against invalid memory read diff -r 551765b1772b -r ee8f29f3f9f7 bink.c --- a/bink.c Thu Mar 04 08:53:14 2010 +0000 +++ b/bink.c Thu Mar 04 13:26:01 2010 +0000 @@ -210,7 +210,7 @@ } bink->remain_packet_size -= 4 + audio_size; bink->current_track++; - if (audio_size > 0) { + if (audio_size >= 4) { /* get one audio packet per track */ if ((ret = av_get_packet(pb, pkt, audio_size)) != audio_size) @@ -223,6 +223,8 @@ bink->audio_pts[bink->current_track -1] += AV_RL32(pkt->data) / (2 * s->streams[bink->current_track]->codec->channels); return 0; + } else { + url_fseek(pb, audio_size, SEEK_CUR); } }