]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: Avoid accidental insertion into map
authorOwen Avery <powerboat9.gamer@gmail.com>
Thu, 5 Sep 2024 23:44:55 +0000 (19:44 -0400)
committerArthur Cohen <arthur.cohen@embecosm.com>
Wed, 19 Mar 2025 14:32:08 +0000 (15:32 +0100)
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>
gcc/rust/resolve/rust-ast-resolve-pattern.cc

index 9b383b722c87039bff3ece0bcc4f422271439e5d..ee84be8942bc51476554fd617acad60ac14a1187 100644 (file)
@@ -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});
            }