[flutter_tool] Improve yaml font map validation (#42538)
diff --git a/packages/flutter_tools/lib/src/flutter_manifest.dart b/packages/flutter_tools/lib/src/flutter_manifest.dart index 5334b5b..759734c 100644 --- a/packages/flutter_tools/lib/src/flutter_manifest.dart +++ b/packages/flutter_tools/lib/src/flutter_manifest.dart
@@ -439,8 +439,13 @@ errors.add('Expected "fonts" to either be null or a list.'); continue; } - for (final YamlMap fontListItem in fontMap['fonts']) { - for (final MapEntry<dynamic, dynamic> kvp in fontListItem.entries) { + for (final dynamic fontListItem in fontMap['fonts']) { + if (fontListItem is! YamlMap) { + errors.add('Expected "fonts" to be a list of maps.'); + continue; + } + final YamlMap fontMapList = fontListItem; + for (final MapEntry<dynamic, dynamic> kvp in fontMapList.entries) { if (kvp.key is! String) { errors.add('Expected "${kvp.key}" under "fonts" to be a string.'); }