Commit 1b39556
Validate XML when importing SVG file
Changed files (2)
Diff
@@ -15,6 +15,7 @@ using Cairo; using Math; using Gee;+using B; namespace BirdFont { @@ -153,6 +154,13 @@ public class Glyph : FontDisplay { set { try { if (value != null) {+ XmlParser xml = new XmlParser ((!) value);+ + if (!xml.validate ()) {+ warning("Invalid SVG data, skipping import.");+ return;+ }+ uint8[] svg_array = ((!) value).data; svg_drawing = new Rsvg.Handle.from_data (svg_array); } else {@@ -70,13 +70,14 @@ public class SvgTable : OtfTable { svg_tags = new Gee.ArrayList<Tag> (); meta = new Gee.ArrayList<Tag> (); xml = new XmlParser (svg_data);- svg_root_tag = xml.get_root_tag (); if (!xml.validate ()) { warning("Invalid SVG data in TTF table."); return; } + svg_root_tag = xml.get_root_tag ();+ foreach (Tag tag in svg_root_tag) { string name = tag.get_name();