summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-01-05 18:02:18 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-01-05 18:02:18 +0000
commit50dc3ce2c76be94a41767769c2bd1c381ef7cf76 (patch)
tree8f03d0b03368146f71bd271174c3cad239a9fb23 /libmpdemux
parente3fe6113a6c66a82e707ac0e5731e22bcf63acd0 (diff)
downloadmpv-50dc3ce2c76be94a41767769c2bd1c381ef7cf76.tar.bz2
mpv-50dc3ce2c76be94a41767769c2bd1c381ef7cf76.tar.xz
Do not access ogg_d->subs after freeing it.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21829 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_ogg.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c
index 14703f3b94..04d3a7b7d3 100644
--- a/libmpdemux/demux_ogg.c
+++ b/libmpdemux/demux_ogg.c
@@ -1600,7 +1600,12 @@ static void demux_close_ogg(demuxer_t* demuxer) {
if(ogg_d->subs)
{
for (i = 0; i < ogg_d->num_sub; i++)
+ {
+ os = &ogg_d->subs[i];
ogg_stream_clear(&ogg_d->subs[i].stream);
+ if(os->vi_inited)
+ vorbis_info_clear(&os->vi);
+ }
free(ogg_d->subs);
}
if(ogg_d->syncpoints)
@@ -1612,11 +1617,6 @@ static void demux_close_ogg(demuxer_t* demuxer) {
if (ogg_d->text_langs[i]) free(ogg_d->text_langs[i]);
free(ogg_d->text_langs);
}
- if(demuxer->audio->id > -1 && demuxer->audio->id < ogg_d->num_sub) {
- os = &ogg_d->subs[demuxer->audio->id];
- if(os->vi_inited)
- vorbis_info_clear(&os->vi);
- }
free(ogg_d);
}