[COMMITTED 062/144] gccrs: Avoid accidental insertion into map

arthur.cohen@embecosm.com arthur.cohen@embecosm.com
Wed Mar 19 14:43:43 GMT 2025


From: Owen Avery <powerboat9.gamer@gmail.com>

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 | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/rust/resolve/rust-ast-resolve-pattern.cc b/gcc/rust/resolve/rust-ast-resolve-pattern.cc
index 9b383b722c8..ee84be8942b 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});
 	    }
-- 
2.45.2



More information about the Gcc-rust mailing list