Move assertion earlier in av1_single_motion_search Assert an index is within array bounds before accessing the the array with the index, not after. This fixes a GCC 12.2.0 -Wstringop-overflow warning. Bug: aomedia:3478 Change-Id: I27961be8dec0febfd9331535eeedffe5d7074f4d (cherry picked from commit 7f38872e99a81f81fcb5b298afd3a5aab8faa666)
diff --git a/av1/encoder/motion_search_facade.c b/av1/encoder/motion_search_facade.c index b771b05..b8c000b 100644 --- a/av1/encoder/motion_search_facade.c +++ b/av1/encoder/motion_search_facade.c
@@ -226,10 +226,10 @@ // Store start_mv candidate and corresponding ref_mv_idx of full-pel // search in the mv stack (except last ref_mv_idx). if (mbmi->ref_mv_idx != MAX_REF_MV_SEARCH - 1) { + assert(args->start_mv_cnt < (MAX_REF_MV_SEARCH - 1) * 2); args->start_mv_stack[args->start_mv_cnt] = fmv_cand->as_fullmv; args->ref_mv_idx_stack[args->start_mv_cnt] = mbmi->ref_mv_idx; args->start_mv_cnt++; - assert(args->start_mv_cnt <= (MAX_REF_MV_SEARCH - 1) * 2); } } }