mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Guard against invalid memory read
Originally committed as revision 22207 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
b5e2bb8c3c
commit
4ffa6e78c2
@ -210,7 +210,7 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
bink->remain_packet_size -= 4 + audio_size;
|
bink->remain_packet_size -= 4 + audio_size;
|
||||||
bink->current_track++;
|
bink->current_track++;
|
||||||
if (audio_size > 0) {
|
if (audio_size >= 4) {
|
||||||
/* get one audio packet per track */
|
/* get one audio packet per track */
|
||||||
if ((ret = av_get_packet(pb, pkt, audio_size))
|
if ((ret = av_get_packet(pb, pkt, audio_size))
|
||||||
!= audio_size)
|
!= audio_size)
|
||||||
@ -223,6 +223,8 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
bink->audio_pts[bink->current_track -1] +=
|
bink->audio_pts[bink->current_track -1] +=
|
||||||
AV_RL32(pkt->data) / (2 * s->streams[bink->current_track]->codec->channels);
|
AV_RL32(pkt->data) / (2 * s->streams[bink->current_track]->codec->channels);
|
||||||
return 0;
|
return 0;
|
||||||
|
} else {
|
||||||
|
url_fseek(pb, audio_size, SEEK_CUR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user