From ef2bc53a5aa891f513dcba342b21bdd1fe1b3303 Mon Sep 17 00:00:00 2001 From: Laurent Aimar Date: Wed, 19 Nov 2008 19:45:03 +0100 Subject: [PATCH] Fix potential invalid sout buffer chain in decoder. --- src/input/decoder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/input/decoder.c b/src/input/decoder.c index 1abbc45a5b..93b27c0f1e 100644 --- a/src/input/decoder.c +++ b/src/input/decoder.c @@ -1532,13 +1532,12 @@ static void DecoderPlaySout( decoder_t *p_dec, block_t *p_sout_block, decoder_owner_sys_t *p_owner = p_dec->p_owner; assert( p_owner->p_clock ); + assert( !p_sout_block->p_next ); vlc_mutex_lock( &p_owner->lock ); if( p_owner->b_buffering || p_owner->buffer.p_block ) { - p_sout_block->p_next = NULL; - block_ChainLastAppend( &p_owner->buffer.pp_block_next, p_sout_block ); p_owner->buffer.i_count++; @@ -1574,6 +1573,7 @@ static void DecoderPlaySout( decoder_t *p_dec, block_t *p_sout_block, if( !b_has_more ) p_owner->buffer.pp_block_next = &p_owner->buffer.p_block; } + p_sout_block->p_next = NULL; DecoderFixTs( p_dec, &p_sout_block->i_dts, &p_sout_block->i_pts, &p_sout_block->i_length, -- 2.20.1