vlc | branch: master | Francois Cartegnie <fcvlc...@free.fr> | Mon Apr 23 16:49:26 2018 +0200| [ec9602e466619dad0bfb7a7c963411ed6c88ecf6] | committer: Francois Cartegnie
codec: subsdec: fix inbuffer size strlen can't work on wchars > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ec9602e466619dad0bfb7a7c963411ed6c88ecf6 --- modules/codec/subsdec.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/codec/subsdec.c b/modules/codec/subsdec.c index c548ffe8e5..5a63f0b2f2 100644 --- a/modules/codec/subsdec.c +++ b/modules/codec/subsdec.c @@ -361,7 +361,6 @@ static subpicture_t *ParseText( decoder_t *p_dec, block_t *p_block ) { decoder_sys_t *p_sys = p_dec->p_sys; subpicture_t *p_spu = NULL; - char *psz_subtitle = NULL; if( p_block->i_flags & BLOCK_FLAG_CORRUPTED ) return NULL; @@ -383,7 +382,7 @@ static subpicture_t *ParseText( decoder_t *p_dec, block_t *p_block ) } /* Should be resiliant against bad subtitles */ - psz_subtitle = malloc( p_block->i_buffer + 1 ); + char *psz_subtitle = malloc( p_block->i_buffer + 1 ); if( psz_subtitle == NULL ) return NULL; memcpy( psz_subtitle, p_block->p_buffer, p_block->i_buffer ); @@ -400,7 +399,6 @@ static subpicture_t *ParseText( decoder_t *p_dec, block_t *p_block ) } else { - if( p_sys->b_autodetect_utf8 ) { if( IsUTF8( psz_subtitle ) == NULL ) @@ -413,7 +411,7 @@ static subpicture_t *ParseText( decoder_t *p_dec, block_t *p_block ) if( !p_sys->b_autodetect_utf8 ) { - size_t inbytes_left = strlen( psz_subtitle ); + size_t inbytes_left = p_block->i_buffer; size_t outbytes_left = 6 * inbytes_left; char *psz_new_subtitle = xmalloc( outbytes_left + 1 ); char *psz_convert_buffer_out = psz_new_subtitle; _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits