diff options
author | Siddhesh Poyarekar <siddhesh@gotplt.org> | 2024-07-19 12:44:32 -0400 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@gotplt.org> | 2024-07-20 07:53:23 -0400 |
commit | e0d997e913f811ecf4b3e10891e6a4aab5b38a31 (patch) | |
tree | 07dcbc73ac9d424f54f7f5a5539f47473876f997 | |
parent | 56f824cc206ff00d466aaeb11211d8005c4668bc (diff) | |
download | gcc-e0d997e913f811ecf4b3e10891e6a4aab5b38a31.zip gcc-e0d997e913f811ecf4b3e10891e6a4aab5b38a31.tar.gz gcc-e0d997e913f811ecf4b3e10891e6a4aab5b38a31.tar.bz2 |
Avoid undefined behaviour in build_option_suggestions
The inner loop in build_option_suggestions uses OPTION to take the
address of OPTB and use it across iterations, which is undefined
behaviour since OPTB is defined within the loop. Pull it outside the
loop to make this defined.
gcc/ChangeLog:
* opt-suggestions.cc
(option_proposer::build_option_suggestions): Pull OPTB
definition out of the innermost loop.
-rw-r--r-- | gcc/opt-suggestions.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/opt-suggestions.cc b/gcc/opt-suggestions.cc index 849e4f5..71e5cb5 100644 --- a/gcc/opt-suggestions.cc +++ b/gcc/opt-suggestions.cc @@ -167,9 +167,9 @@ option_proposer::build_option_suggestions (const char *prefix) add_misspelling_candidates (m_option_suggestions, option, opt_text); + struct cl_option optb; for (int j = 0; sanitizer_opts[j].name != NULL; ++j) { - struct cl_option optb; /* -fsanitize=all is not valid, only -fno-sanitize=all. So don't register the positive misspelling candidates for it. */ |