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

liyoubdu liyoubdu at qq.com
Tue Feb 7 03:43:51 CET 2017


i dont think that it is one bug.




------------------ 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

_______________________________________________
vlc-devel mailing list
To unsubscribe or modify your subscription options:
https://mailman.videolan.org/listinfo/vlc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20170207/ac615a4e/attachment.html>


More information about the vlc-devel mailing list