diff options
author | Jakub Jelinek <jakub@redhat.com> | 2022-07-27 12:04:50 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2022-07-27 12:04:50 +0200 |
commit | cc078cf85295ec5d0a63a16afbd045efac0d455e (patch) | |
tree | 5899a502b566b5dbf7d52d1e942bc97efa434cac /gcc | |
parent | 0bc1566dec0cab9410723c96d2ef3280fdab8e8e (diff) | |
download | gcc-cc078cf85295ec5d0a63a16afbd045efac0d455e.zip gcc-cc078cf85295ec5d0a63a16afbd045efac0d455e.tar.gz gcc-cc078cf85295ec5d0a63a16afbd045efac0d455e.tar.bz2 |
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 <jakub@redhat.com>
PR middle-end/106332
* opts-common.cc (candidates_list_and_hint): Add gcc_assert
that candidates is not an empty vector.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/opts-common.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/opts-common.cc b/gcc/opts-common.cc index 1663be1..8097c05 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; |