diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2024-09-05 19:44:55 -0400 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-03-19 15:32:08 +0100 |
commit | 2438584da1f8bbdfdc21b5a2a562472e0c572589 (patch) | |
tree | f99e97bce6deebbe5da50570331bbb73f5f8f472 /gcc/rust/resolve | |
parent | 99cbcd7c45354e334f6c30a937c96cd9962b583d (diff) | |
download | gcc-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/rust/resolve')
-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 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}); } |