# HG changeset patch # User reimar # Date 1183673165 0 # Node ID ce80673fbf0d67c6c029ffc0d73aecf672b761e2 # Parent 9fb716ab06a3e94045312894776629e4e30dd2fb Add some missing frees. diff -r 9fb716ab06a3 -r ce80673fbf0d libmpdemux/demux_mkv.c --- a/libmpdemux/demux_mkv.c Thu Jul 05 22:01:07 2007 +0000 +++ b/libmpdemux/demux_mkv.c Thu Jul 05 22:06:05 2007 +0000 @@ -3261,8 +3261,10 @@ 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 @@ 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 @@ } case EBML_ID_INVALID: + free(block); return 0; default: