summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_mkv.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-07-05 22:06:05 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-07-05 22:06:05 +0000
commit01e1ab57edb86bfb3572d4182128e06a0772c858 (patch)
tree834cef80f55d8249c45c95b6283beabf4db3df80 /libmpdemux/demux_mkv.c
parent4c4a1070febe5a140cac0357267af338b9852a7e (diff)
downloadmpv-01e1ab57edb86bfb3572d4182128e06a0772c858.tar.bz2
mpv-01e1ab57edb86bfb3572d4182128e06a0772c858.tar.xz
Add some missing frees.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23724 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_mkv.c')
-rw-r--r--libmpdemux/demux_mkv.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c
index f2ca7eb6b8..bd19445984 100644
--- a/libmpdemux/demux_mkv.c
+++ b/libmpdemux/demux_mkv.c
@@ -3261,8 +3261,10 @@ demux_mkv_fill_buffer (demuxer_t *demuxer, demux_stream_t *ds)
case MATROSKA_ID_BLOCKDURATION:
{
block_duration = ebml_read_uint (s, &l);
- if (block_duration == EBML_UINT_INVALID)
+ if (block_duration == EBML_UINT_INVALID) {
+ free(block);
return 0;
+ }
block_duration *= mkv_d->tc_scale / 1000000.0;
break;
}
@@ -3284,8 +3286,10 @@ demux_mkv_fill_buffer (demuxer_t *demuxer, demux_stream_t *ds)
case MATROSKA_ID_REFERENCEBLOCK:
{
int64_t num = ebml_read_int (s, &l);
- if (num == EBML_INT_INVALID)
+ if (num == EBML_INT_INVALID) {
+ free(block);
return 0;
+ }
if (num <= 0)
block_bref = num;
else
@@ -3294,6 +3298,7 @@ demux_mkv_fill_buffer (demuxer_t *demuxer, demux_stream_t *ds)
}
case EBML_ID_INVALID:
+ free(block);
return 0;
default: