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);
}
}
}