summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2017-09-19 17:17:12 +0200
committerTor Andersson <tor.andersson@artifex.com>2017-09-19 17:19:41 +0200
commit2b16dbd8f73269cb15ca61ece75cf8d2d196ed28 (patch)
treec2077935809f028eccb5267c707c460310db4cf9
parent0f0fbc07d9be31f5e83ec5328d7311fdfd8328b1 (diff)
downloadmupdf-2b16dbd8f73269cb15ca61ece75cf8d2d196ed28.tar.xz
Fix 698558: Handle non-tags in tag name comparisons.
Use fz_xml_is_tag instead of fz_xml_tag && !strcmp idiom.
-rw-r--r--source/html/css-apply.c2
-rw-r--r--source/svg/svg-run.c2
-rw-r--r--source/xps/xps-common.c6
-rw-r--r--source/xps/xps-glyphs.c2
-rw-r--r--source/xps/xps-path.c4
-rw-r--r--source/xps/xps-resource.c2
6 files changed, 9 insertions, 9 deletions
diff --git a/source/html/css-apply.c b/source/html/css-apply.c
index de554908..6a91df0d 100644
--- a/source/html/css-apply.c
+++ b/source/html/css-apply.c
@@ -328,7 +328,7 @@ match_selector(fz_css_selector *sel, fz_xml *node)
if (sel->name)
{
- if (strcmp(sel->name, fz_xml_tag(node)))
+ if (!fz_xml_is_tag(node, sel->name))
return 0;
}
diff --git a/source/svg/svg-run.c b/source/svg/svg-run.c
index f974c675..5302c640 100644
--- a/source/svg/svg-run.c
+++ b/source/svg/svg-run.c
@@ -1044,7 +1044,7 @@ svg_run_use(fz_context *ctx, fz_device *dev, svg_document *doc, fz_xml *root, co
fz_xml *linked = fz_tree_lookup(ctx, doc->idmap, xlink_href_att + 1);
if (linked)
{
- if (!strcmp(fz_xml_tag(linked), "symbol"))
+ if (fz_xml_is_tag(linked, "symbol"))
svg_run_use_symbol(ctx, dev, doc, root, linked, &local_state);
else
svg_run_element(ctx, dev, doc, linked, &local_state);
diff --git a/source/xps/xps-common.c b/source/xps/xps-common.c
index cc7fed94..f2f9b93c 100644
--- a/source/xps/xps-common.c
+++ b/source/xps/xps-common.c
@@ -47,7 +47,7 @@ xps_parse_brush(fz_context *ctx, xps_document *doc, const fz_matrix *ctm, const
else if (fz_xml_is_tag(node, "RadialGradientBrush"))
xps_parse_radial_gradient_brush(ctx, doc, ctm, area, base_uri, dict, node);
else
- fz_warn(ctx, "unknown brush tag: %s", fz_xml_tag(node));
+ fz_warn(ctx, "unknown brush tag");
}
void
@@ -85,7 +85,7 @@ xps_begin_opacity(fz_context *ctx, xps_document *doc, const fz_matrix *ctm, cons
if (opacity_att)
opacity = fz_atof(opacity_att);
- if (opacity_mask_tag && !strcmp(fz_xml_tag(opacity_mask_tag), "SolidColorBrush"))
+ if (fz_xml_is_tag(opacity_mask_tag, "SolidColorBrush"))
{
char *scb_opacity_att = fz_xml_att(opacity_mask_tag, "Opacity");
char *scb_color_att = fz_xml_att(opacity_mask_tag, "Color");
@@ -129,7 +129,7 @@ xps_end_opacity(fz_context *ctx, xps_document *doc, char *base_uri, xps_resource
if (opacity_mask_tag)
{
- if (strcmp(fz_xml_tag(opacity_mask_tag), "SolidColorBrush"))
+ if (!fz_xml_is_tag(opacity_mask_tag, "SolidColorBrush"))
fz_pop_clip(ctx, dev);
}
}
diff --git a/source/xps/xps-glyphs.c b/source/xps/xps-glyphs.c
index 29dc5b39..5b26d780 100644
--- a/source/xps/xps-glyphs.c
+++ b/source/xps/xps-glyphs.c
@@ -592,7 +592,7 @@ xps_parse_glyphs(fz_context *ctx, xps_document *doc, const fz_matrix *ctm,
/* If it's a solid color brush fill/stroke do a simple fill */
- if (fill_tag && !strcmp(fz_xml_tag(fill_tag), "SolidColorBrush"))
+ if (fz_xml_is_tag(fill_tag, "SolidColorBrush"))
{
fill_opacity_att = fz_xml_att(fill_tag, "Opacity");
fill_att = fz_xml_att(fill_tag, "Color");
diff --git a/source/xps/xps-path.c b/source/xps/xps-path.c
index 6faeb0ca..021d2021 100644
--- a/source/xps/xps-path.c
+++ b/source/xps/xps-path.c
@@ -879,14 +879,14 @@ xps_parse_path(fz_context *ctx, xps_document *doc, const fz_matrix *ctm, char *b
if (!data_att && !data_tag)
return;
- if (fill_tag && !strcmp(fz_xml_tag(fill_tag), "SolidColorBrush"))
+ if (fz_xml_is_tag(fill_tag, "SolidColorBrush"))
{
fill_opacity_att = fz_xml_att(fill_tag, "Opacity");
fill_att = fz_xml_att(fill_tag, "Color");
fill_tag = NULL;
}
- if (stroke_tag && !strcmp(fz_xml_tag(stroke_tag), "SolidColorBrush"))
+ if (fz_xml_is_tag(stroke_tag, "SolidColorBrush"))
{
stroke_opacity_att = fz_xml_att(stroke_tag, "Opacity");
stroke_att = fz_xml_att(stroke_tag, "Color");
diff --git a/source/xps/xps-resource.c b/source/xps/xps-resource.c
index c2292e60..8e81ab83 100644
--- a/source/xps/xps-resource.c
+++ b/source/xps/xps-resource.c
@@ -84,7 +84,7 @@ xps_parse_remote_resource_dictionary(fz_context *ctx, xps_document *doc, char *b
if (!xml)
return NULL;
- if (strcmp(fz_xml_tag(xml), "ResourceDictionary"))
+ if (!fz_xml_is_tag(xml, "ResourceDictionary"))
{
fz_drop_xml(ctx, xml);
fz_throw(ctx, FZ_ERROR_GENERIC, "expected ResourceDictionary element");