diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2001-11-17 22:40:01 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2001-11-17 22:40:01 +0000 |
commit | 9ee92c975ddef88214ce317d9a25ff37d080aeed (patch) | |
tree | d952463443e8b96f68dcda9aae8bfede394fdb32 /src/libmpeg2 | |
parent | 81b2f95cbb603795f41636ed3b089bfd712d1a79 (diff) | |
download | xine-lib-9ee92c975ddef88214ce317d9a25ff37d080aeed.tar.gz xine-lib-9ee92c975ddef88214ce317d9a25ff37d080aeed.tar.bz2 |
fixing memory leaks
CVS patchset: 1061
CVS date: 2001/11/17 22:40:01
Diffstat (limited to 'src/libmpeg2')
-rw-r--r-- | src/libmpeg2/decode.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/libmpeg2/decode.c b/src/libmpeg2/decode.c index 0e84ccbaa..703b269e5 100644 --- a/src/libmpeg2/decode.c +++ b/src/libmpeg2/decode.c @@ -50,8 +50,10 @@ void mpeg2_init (mpeg2dec_t * mpeg2dec, motion_comp_init (); } - mpeg2dec->chunk_buffer = xine_xmalloc_aligned (16, BUFFER_SIZE + 4); - mpeg2dec->picture = xine_xmalloc_aligned (16, sizeof (picture_t)); + if( !mpeg2dec->chunk_buffer ) + mpeg2dec->chunk_buffer = xine_xmalloc_aligned (16, BUFFER_SIZE + 4); + if( !mpeg2dec->picture ) + mpeg2dec->picture = xine_xmalloc_aligned (16, sizeof (picture_t)); mpeg2dec->shift = 0xffffff00; mpeg2dec->is_sequence_needed = 1; @@ -414,10 +416,15 @@ void mpeg2_close (mpeg2dec_t * mpeg2dec) picture->backward_reference_frame->free (picture->backward_reference_frame); } - /* FIXME - free (mpeg2dec->chunk_buffer); - free (mpeg2dec->picture); - */ + if ( mpeg2dec->chunk_buffer ) { + xine_free_aligned (mpeg2dec->chunk_buffer); + mpeg2dec->chunk_buffer = NULL; + } + + if ( mpeg2dec->picture ) { + xine_free_aligned (mpeg2dec->picture); + mpeg2dec->picture = NULL; + } } void mpeg2_find_sequence_header (mpeg2dec_t * mpeg2dec, |