[vlc-devel] [PATCH] packetizer/h264: fix resource deallocation during Close
Filip Roséen
filip at atch.se
Tue Feb 7 02:35:46 CET 2017
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
More information about the vlc-devel
mailing list