diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2024-09-05 19:44:55 -0400 |
---|---|---|
committer | P-E-P <32375388+P-E-P@users.noreply.github.com> | 2024-09-07 20:49:52 +0000 |
commit | 14528a8cf094ac4bc79a86d75d409e9afebe37ff (patch) | |
tree | 4a2783f9c32e9666b6553e9c97fb5c6c531bf466 /gcc | |
parent | 84f772c15bca5f0ac589be5df67918b5fc141bc8 (diff) | |
download | gcc-14528a8cf094ac4bc79a86d75d409e9afebe37ff.zip gcc-14528a8cf094ac4bc79a86d75d409e9afebe37ff.tar.gz gcc-14528a8cf094ac4bc79a86d75d409e9afebe37ff.tar.bz2 |
Avoid accidental insertion into map
gcc/rust/ChangeLog:
* resolve/rust-ast-resolve-pattern.cc
(PatternDeclaration::check_bindings_consistency): Check if
outer_bindings_map contains an entry before indexing.
Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/resolve/rust-ast-resolve-pattern.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/rust/resolve/rust-ast-resolve-pattern.cc b/gcc/rust/resolve/rust-ast-resolve-pattern.cc index bfa6e3c..d0e5f2f 100644 --- a/gcc/rust/resolve/rust-ast-resolve-pattern.cc +++ b/gcc/rust/resolve/rust-ast-resolve-pattern.cc @@ -330,7 +330,8 @@ PatternDeclaration::check_bindings_consistency ( if (!ident_is_outer_bound && !missing_bindings.count (ident)) missing_bindings.insert ({ident, inner_info}); - else if (outer_bindings_map[ident] != inner_info + else if (outer_bindings_map.count (ident) + && outer_bindings_map[ident] != inner_info && !inconsistent_bindings.count (ident)) inconsistent_bindings.insert ({ident, inner_info}); } |