[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