[vlc-devel] [PATCH] packetizer/h264: fix resource deallocationduring Close

Filip Roséen filip at atch.se
Tue Feb 7 03:45:56 CET 2017


Hi liyoubdu,

On 2017-02-07 10:43, liyoubdu wrote:

> i dont think that it is one bug.

I do not understand what you are saying, could you please
rephrase/elaborate your message?

Best Regards,\
Filip

> ------------------ Original ------------------
> From:  "Filip Roséen";<filip at atch.se>;
> Send time: Tuesday, Feb 7, 2017 9:35 AM
> To: "vlc-devel"<vlc-devel at videolan.org>; 
> 
> Subject:  [vlc-devel] [PATCH] packetizer/h264: fix resource deallocationduring Close
> 
> 
> 
> The previous loop condition suffers from an off-by-one error, meaning
> that the last resource in p_sys->pp_sps and p_sys->pp_pps would never
> be released if populated.
> 
> fixes #17987
> 
> --
> 
> Personally I am not a big fan of loop-conditions such as these (fixed)
> ones (because they are very error-prone), though given that this is
> the aesthetics used in the rest of the relevant translation-unit I
> will refrain from refactoring it.
> ---
>  modules/packetizer/h264.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/modules/packetizer/h264.c b/modules/packetizer/h264.c
> index 1b455af479..4d2db65f76 100644
> --- a/modules/packetizer/h264.c
> +++ b/modules/packetizer/h264.c
> @@ -330,12 +330,12 @@ static void Close( vlc_object_t *p_this )
>  
>      if( p_sys->p_frame )
>          block_ChainRelease( p_sys->p_frame );
> -    for( i = 0; i < H264_SPS_ID_MAX; i++ )
> +    for( i = 0; i <= H264_SPS_ID_MAX; i++ )
>      {
>          if( p_sys->pp_sps[i] )
>              block_Release( p_sys->pp_sps[i] );
>      }
> -    for( i = 0; i < H264_PPS_ID_MAX; i++ )
> +    for( i = 0; i <= H264_PPS_ID_MAX; i++ )
>      {
>          if( p_sys->pp_pps[i] )
>              block_Release( p_sys->pp_pps[i] );
> -- 
> 2.11.1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20170207/1902df31/attachment.html>


More information about the vlc-devel mailing list