From: Jakub Jelinek Date: Wed, 27 Jul 2022 10:04:50 +0000 (+0200) Subject: opts: Add an assertion to help static analyzers [PR106332] X-Git-Tag: basepoints/gcc-14~5352 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cc078cf85295ec5d0a63a16afbd045efac0d455e;p=thirdparty%2Fgcc.git opts: Add an assertion to help static analyzers [PR106332] This function would have UB if called with empty candidates vector (accessing p[-1] where p is malloc (0) result). As analyzed in the PR, we never call it with empty vector, so this just adds an assertion to make it clear. 2022-07-27 Jakub Jelinek PR middle-end/106332 * opts-common.cc (candidates_list_and_hint): Add gcc_assert that candidates is not an empty vector. --- diff --git a/gcc/opts-common.cc b/gcc/opts-common.cc index 1663be1f602..8097c058c72 100644 --- a/gcc/opts-common.cc +++ b/gcc/opts-common.cc @@ -1347,6 +1347,8 @@ candidates_list_and_hint (const char *arg, char *&str, const char *candidate; char *p; + gcc_assert (!candidates.is_empty ()); + FOR_EACH_VEC_ELT (candidates, i, candidate) len += strlen (candidate) + 1;