From: Dirk Lemstra Date: Sun, 8 Jul 2018 20:16:50 +0000 (+0200) Subject: Improved detection of svg files. X-Git-Tag: 7.0.8-6~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fde65725de48457e4e3d883d802f2073525a1d22;p=imagemagick Improved detection of svg files. --- 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) /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%