vlc | branch: master | Hugo Beauzée-Luyssen <h...@beauzee.fr> | Fri Jan 19 11:54:42 2018 +0100| [9aaff39b57a72e70f2fd84922b3c1da70d3ca8ce] | committer: Hugo Beauzée-Luyssen
substx3g: Fix potential null dereference CID #1464193 > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9aaff39b57a72e70f2fd84922b3c1da70d3ca8ce --- modules/codec/substx3g.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/codec/substx3g.c b/modules/codec/substx3g.c index 8904d200a6..0fba8b0948 100644 --- a/modules/codec/substx3g.c +++ b/modules/codec/substx3g.c @@ -695,24 +695,24 @@ static block_t * Encode( encoder_t *p_enc, subpicture_t *p_spu ) } block_t *p_block = block_Alloc( i_len + 2 ); - if( p_block ) - { - SetWBE(p_block->p_buffer, i_len); - p_block->i_buffer = 2; - for(const text_segment_t *p_segment = p_segments; - p_segment; p_segment = p_segment->p_next ) - { - size_t i_seglen = strlen(p_segment->psz_text); - memcpy(&p_block->p_buffer[p_block->i_buffer], - p_segment->psz_text, i_seglen); - p_block->i_buffer += i_seglen; - } - p_block->i_dts = p_block->i_pts = p_spu->i_start; - p_block->i_length = p_spu->i_stop - p_spu->i_start; + if( !p_block ) + return NULL; - if( i_styles > 0 ) - p_block->p_next = GetStylBlock( p_segments, i_styles ); + SetWBE(p_block->p_buffer, i_len); + p_block->i_buffer = 2; + for(const text_segment_t *p_segment = p_segments; + p_segment; p_segment = p_segment->p_next ) + { + size_t i_seglen = strlen(p_segment->psz_text); + memcpy(&p_block->p_buffer[p_block->i_buffer], + p_segment->psz_text, i_seglen); + p_block->i_buffer += i_seglen; } + p_block->i_dts = p_block->i_pts = p_spu->i_start; + p_block->i_length = p_spu->i_stop - p_spu->i_start; + + if( i_styles > 0 ) + p_block->p_next = GetStylBlock( p_segments, i_styles ); return block_ChainGather( p_block ); } _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits