diff options
author | Ewald Snel <esnel@users.sourceforge.net> | 2003-01-08 14:42:46 +0000 |
---|---|---|
committer | Ewald Snel <esnel@users.sourceforge.net> | 2003-01-08 14:42:46 +0000 |
commit | d6dc947d057611d61d96649a8e07a60f893a9056 (patch) | |
tree | f13852afff710f5d413aa4d198ae7cd7891b40fc | |
parent | 87d711f532f36b5ffcab15cf474fd134abf5014b (diff) | |
download | xine-lib-d6dc947d057611d61d96649a8e07a60f893a9056.tar.gz xine-lib-d6dc947d057611d61d96649a8e07a60f893a9056.tar.bz2 |
Fix memory leak, don't use 'abort()'
CVS patchset: 3831
CVS date: 2003/01/08 14:42:46
-rw-r--r-- | src/demuxers/demux_real.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c index ed1d5fec5..04a7ec05f 100644 --- a/src/demuxers/demux_real.c +++ b/src/demuxers/demux_real.c @@ -28,7 +28,7 @@ * * Based on FFmpeg's libav/rm.c. * - * $Id: demux_real.c,v 1.30 2003/01/04 14:48:12 miguelfreitas Exp $ + * $Id: demux_real.c,v 1.31 2003/01/08 14:42:46 esnel Exp $ */ #ifdef HAVE_CONFIG_H @@ -406,7 +406,14 @@ static void real_parse_headers (demux_real_t *this) { } else { printf ("demux_real: error, unknown audio data header version %d\n", version); - abort(); + + free (mdpr->stream_name); + free (mdpr->mime_type); + free (mdpr->type_specific_data); + free (mdpr); + + this->status = DEMUX_FINISHED; + return; } if (!strncmp (fourcc, "dnet", 4)) @@ -515,6 +522,9 @@ static void real_parse_headers (demux_real_t *this) { } + free (mdpr->stream_name); + free (mdpr->mime_type); + free (mdpr->type_specific_data); free (mdpr); } else if (chunk_type == CONT_TAG) { |