On 2017/4/30 20:47, Mark Thompson wrote: > On 26/04/17 07:44, Jun Zhao wrote: >> From f3678e0ceb691b6df5957a2c3d26d4f0d91d4ff5 Mon Sep 17 00:00:00 2001 >> From: Jun Zhao <jun.z...@intel.com> >> Date: Wed, 26 Apr 2017 14:00:56 +0800 >> Subject: [PATCH] lavc/vaapi_encode_h265: Suppress the "above array bounds" >> warning. >> MIME-Version: 1.0 >> Content-Type: text/plain; charset=UTF-8 >> Content-Transfer-Encoding: 8bit >> >> setting the layer_id_included_flag lead to a potential array out of bounds, >> build warning message as follow: >> libavcodec/vaapi_encode_h265.c: In function >> ‘vaapi_encode_h265_write_sequence_header’: >> libavcodec/vaapi_encode_h265.c:305:49: warning: array subscript is above >> array bounds [-Warray-bounds] > > Can you explain what the aim of this is? You haven't actually set any of the > layer_id_included_flag in this patch, so is there more to follow dealing with > the layers / layer sets? > > In any case, the dimensions of the array should probably be > [MAX_LAYER_SETS][MAX_LAYERS] rather than the current values. (With > MAX_LAYER_SETS having value 1 currently, but more if you intend to add more.)
Because in vaapi_encode_h265_write_vps(), when setting the layer_id_included_flag, the index i start from 1, it's a potential above array bounds issue when MAX_LAYERS == 1. > >> Signed-off-by: Jun Zhao <jun.z...@intel.com> >> --- >> libavcodec/vaapi_encode_h265.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/libavcodec/vaapi_encode_h265.c b/libavcodec/vaapi_encode_h265.c >> index 6e008b7b9c..1b2a49806b 100644 >> --- a/libavcodec/vaapi_encode_h265.c >> +++ b/libavcodec/vaapi_encode_h265.c >> @@ -66,7 +66,7 @@ typedef struct VAAPIEncodeH265MiscSequenceParams { >> unsigned int vps_num_layer_sets_minus1; >> unsigned int sps_max_sub_layers_minus1; >> char sps_temporal_id_nesting_flag; >> - char layer_id_included_flag[MAX_LAYERS][64]; >> + char layer_id_included_flag[MAX_LAYERS+1][64]; >> >> // Profile/tier/level parameters. >> char general_profile_compatibility_flag[32]; >> -- >> 2.11.0 >> > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel