[vlc-commits] [Git][videolan/vlc][master] 3 commits: codec: webvtt: fix leaking cue segments
    Steve Lhomme (@robUx4) 
    gitlab at videolan.org
       
    Tue Feb 25 19:50:41 UTC 2025
    
    
  
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
60d9ff2f by Steve Lhomme at 2025-02-25T19:32:43+00:00
codec: webvtt: fix leaking cue segments
The p_new element was never added to the chain.
Fixes #28990
- - - - -
f350f64f by Steve Lhomme at 2025-02-25T19:32:43+00:00
svcdsub: fix decoded block leaking
A "gathered" SPU is assembled to send to the decoder, and the decoder then handles
the data from there. But it was never released.
Fixes #28992
- - - - -
35e67cfa by Steve Lhomme at 2025-02-25T19:32:43+00:00
cvdsub: fix leak on missing PTS
Fixes #28995
- - - - -
3 changed files:
- modules/codec/cvdsub.c
- modules/codec/svcdsub.c
- modules/codec/webvtt/subsvtt.c
Changes:
=====================================
modules/codec/cvdsub.c
=====================================
@@ -243,6 +243,7 @@ static block_t *Reassemble( decoder_t *p_dec, block_t *p_block )
     if( p_sys->i_state == SUBTITLE_BLOCK_EMPTY && p_block->i_pts == VLC_TICK_INVALID )
     {
         msg_Warn( p_dec, "first packet expected but no PTS present");
+        block_Release( p_block );
         return NULL;
     }
 
=====================================
modules/codec/svcdsub.c
=====================================
@@ -177,6 +177,7 @@ static int Decode( decoder_t *p_dec, block_t *p_block )
 
     /* Parse and decode */
     subpicture_t *p_spu = DecodePacket( p_dec, p_block );
+    block_Release( p_block );
     if( p_spu != NULL )
         decoder_QueueSub( p_dec, p_spu );
     return VLCDEC_SUCCESS;
=====================================
modules/codec/webvtt/subsvtt.c
=====================================
@@ -1623,6 +1623,8 @@ static void ChainCueSegments( const webvtt_dom_cue_t *p_cue, text_segment_t *p_n
         }
 
         *pp_append = p_new;
+        while( *pp_append )
+            pp_append = &((*pp_append)->p_next);
 
         if( p_cue->settings.vertical == WEBVTT_ALIGN_LEFT )
         {
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/28b601318640dc3be3b463fbb39e480179ad8ebe...35e67cfa5d3ac3907c2e47a856955300706d6083
-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/28b601318640dc3be3b463fbb39e480179ad8ebe...35e67cfa5d3ac3907c2e47a856955300706d6083
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
    
    
More information about the vlc-commits
mailing list