]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Avoid accidental insertion into map
authorOwen Avery <powerboat9.gamer@gmail.com>
Thu, 5 Sep 2024 23:44:55 +0000 (19:44 -0400)
committerP-E-P <32375388+P-E-P@users.noreply.github.com>
Sat, 7 Sep 2024 20:49:52 +0000 (20:49 +0000)
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 bfa6e3c4dfef25f9874ee1bcf00a6319fb8e1f91..d0e5f2fa9ef9155d21fc921ac8359a0e353f8bcf 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});
            }