aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorOwen Avery <powerboat9.gamer@gmail.com>2024-09-05 19:44:55 -0400
committerP-E-P <32375388+P-E-P@users.noreply.github.com>2024-09-07 20:49:52 +0000
commit14528a8cf094ac4bc79a86d75d409e9afebe37ff (patch)
tree4a2783f9c32e9666b6553e9c97fb5c6c531bf466 /gcc
parent84f772c15bca5f0ac589be5df67918b5fc141bc8 (diff)
downloadgcc-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.cc3
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});
}