From 1c7b110e1e44da0c93d0d011f5109c5d09bf4399 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 9 Mar 2022 11:46:03 +0800 Subject: [PATCH] vect: fix out-of-bound access in supports_vec_convert_optab_p [PR 104851] Calling VECTOR_MODE_P with MAX_MACHINE_MODE has caused out-of-bound access. gcc/ PR tree-optimization/104851 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one error. --- gcc/optabs-query.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/optabs-query.cc b/gcc/optabs-query.cc index 713c098ba4ea..68dc679cc6a5 100644 --- a/gcc/optabs-query.cc +++ b/gcc/optabs-query.cc @@ -720,7 +720,7 @@ static bool supports_vec_convert_optab_p (optab op, machine_mode mode) { int start = mode == VOIDmode ? 0 : mode; - int end = mode == VOIDmode ? MAX_MACHINE_MODE : mode; + int end = mode == VOIDmode ? MAX_MACHINE_MODE - 1 : mode; for (int i = start; i <= end; ++i) if (VECTOR_MODE_P ((machine_mode) i)) for (int j = MIN_MODE_VECTOR_INT; j < MAX_MODE_VECTOR_INT; ++j) -- 2.47.3