diff --git a/packages/vector_graphics_compiler/CHANGELOG.md b/packages/vector_graphics_compiler/CHANGELOG.md
index adc696ab5ef..ba4804c871c 100644
--- a/packages/vector_graphics_compiler/CHANGELOG.md
+++ b/packages/vector_graphics_compiler/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.1.15
+
+* Fixes a bug where empty tags caused the parser to crash.
+
## 1.1.14
* Makes the package WASM compatible.
diff --git a/packages/vector_graphics_compiler/lib/src/svg/parser.dart b/packages/vector_graphics_compiler/lib/src/svg/parser.dart
index 6cac8884d7f..6e846cf0018 100644
--- a/packages/vector_graphics_compiler/lib/src/svg/parser.dart
+++ b/packages/vector_graphics_compiler/lib/src/svg/parser.dart
@@ -895,7 +895,10 @@ class SvgParser {
return false;
}
final ParentNode parent = _parentDrawables.last.drawable;
- final Path path = pathFunc(this)!;
+ final Path? path = pathFunc(this);
+ if (path == null) {
+ return false;
+ }
final PathNode drawable = PathNode(path, _currentAttributes);
checkForIri(drawable);
diff --git a/packages/vector_graphics_compiler/pubspec.yaml b/packages/vector_graphics_compiler/pubspec.yaml
index 6c86d50b38a..1eba55f247b 100644
--- a/packages/vector_graphics_compiler/pubspec.yaml
+++ b/packages/vector_graphics_compiler/pubspec.yaml
@@ -2,7 +2,7 @@ name: vector_graphics_compiler
description: A compiler to convert SVGs to the binary format used by `package:vector_graphics`.
repository: https://github.com/flutter/packages/tree/main/packages/vector_graphics_compiler
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+vector_graphics%22
-version: 1.1.14
+version: 1.1.15
executables:
vector_graphics_compiler:
diff --git a/packages/vector_graphics_compiler/test/parser_test.dart b/packages/vector_graphics_compiler/test/parser_test.dart
index 24743c82f5f..e6633fb6f25 100644
--- a/packages/vector_graphics_compiler/test/parser_test.dart
+++ b/packages/vector_graphics_compiler/test/parser_test.dart
@@ -7,6 +7,7 @@ import 'dart:io';
import 'package:flutter_test/flutter_test.dart';
import 'package:vector_graphics_compiler/src/svg/numbers.dart';
import 'package:vector_graphics_compiler/vector_graphics_compiler.dart';
+
import 'test_svg_strings.dart';
void main() {
@@ -1948,6 +1949,19 @@ void main() {
],
);
});
+
+ test('Parse empty tag', () {
+ const String svgStr = '''
+
+ ''';
+
+ expect(parseWithoutOptimizers(svgStr), isA());
+ });
}
const List ghostScriptTigerPaints = [