From fde65725de48457e4e3d883d802f2073525a1d22 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sun, 8 Jul 2018 22:16:50 +0200 Subject: [PATCH] Improved detection of svg files. --- MagickCore/magic.c | 2 ++ coders/svg.c | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/MagickCore/magic.c b/MagickCore/magic.c index 70eaa2ed2..04ec12bb1 100644 --- a/MagickCore/magic.c +++ b/MagickCore/magic.c @@ -186,6 +186,8 @@ static const MagicMapInfo { "SUN", 0, MagicPattern("\131\246\152\225") }, { "SVG", 1, MagicPattern("?XML") }, { "SVG", 1, MagicPattern("?xml") }, + { "SVG", 1, MagicPattern("SVG") }, + { "SVG", 1, MagicPattern("svg") }, { "TIFF", 0, MagicPattern("\115\115\000\052") }, { "TIFF", 0, MagicPattern("\111\111\052\000") }, { "TIFF64", 0, MagicPattern("\115\115\000\053\000\010\000\000") }, diff --git a/coders/svg.c b/coders/svg.c index fa52f93ee..ebbecba4a 100644 --- a/coders/svg.c +++ b/coders/svg.c @@ -224,12 +224,15 @@ static MagickBooleanType IsSVG(const unsigned char *magick,const size_t length) { if (length < 4) return(MagickFalse); - if (LocaleNCompare((const char *) magick,"?xml",4) == 0) + if (LocaleNCompare((const char *) magick+1,"svg",3) == 0) + return(MagickTrue); + if (length < 5) + return(MagickFalse); + if (LocaleNCompare((const char *) magick+1,"?xml",4) == 0) return(MagickTrue); return(MagickFalse); } - - + #if defined(MAGICKCORE_XML_DELEGATE) /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- 2.40.0