aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorOwen Avery <powerboat9.gamer@gmail.com>2024-09-05 19:44:55 -0400
committerArthur Cohen <arthur.cohen@embecosm.com>2025-03-19 15:32:08 +0100
commit2438584da1f8bbdfdc21b5a2a562472e0c572589 (patch)
treef99e97bce6deebbe5da50570331bbb73f5f8f472 /gcc
parent99cbcd7c45354e334f6c30a937c96cd9962b583d (diff)
downloadgcc-2438584da1f8bbdfdc21b5a2a562472e0c572589.zip
gcc-2438584da1f8bbdfdc21b5a2a562472e0c572589.tar.gz
gcc-2438584da1f8bbdfdc21b5a2a562472e0c572589.tar.bz2
gccrs: 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 9b383b7..ee84be8 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});
}