From 0ba517b05cca0e840ff6bcc2c0796a8004b68ea7 Mon Sep 17 00:00:00 2001
From: Luciano Bello <luciano@debian.org>
Date: Mon, 25 Jul 2016 20:04:57 +0200
Subject: [PATCH] Less secure coders require explicit reference (e.g.
 mvg:my-graph.mvg)

Origin: upstream, https://github.com/ImageMagick/ImageMagick/commit/611b2f063eb526da5f1ec1e8045794cf28a55921
Applied-Upstream: commit, 611b2f063eb526da5f1ec1e8045794cf28a55921
Bug: https://www.imagemagick.org/discourse-server/viewtopic.php?f=4&t=29588
Bug-CVE: CVE-2016-3714, CVE-2016-3715, CVE-2016-3716, CVE-2016-3717, CVE-2016-3718
Bug-Debian: https://bugs.debian.org/823542
Last-Update: 2016-05-16
---
 coders/msl.c   | 1 +
 coders/mvg.c   | 1 +
 coders/txt.c   | 5 ++---
 magick/magic.c | 1 -
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/coders/msl.c b/coders/msl.c
index 713af0220..987ec93ed 100644
--- a/coders/msl.c
+++ b/coders/msl.c
@@ -7816,6 +7816,7 @@ ModuleExport size_t RegisterMSLImage(void)
   entry->decoder=(DecodeImageHandler *) ReadMSLImage;
   entry->encoder=(EncodeImageHandler *) WriteMSLImage;
 #endif
+  entry->format_type=ImplicitFormatType;
   entry->description=ConstantString("Magick Scripting Language");
   entry->module=ConstantString("MSL");
   (void) RegisterMagickInfo(entry);
diff --git a/coders/mvg.c b/coders/mvg.c
index 21799974a..c621a71c2 100644
--- a/coders/mvg.c
+++ b/coders/mvg.c
@@ -251,6 +251,7 @@ ModuleExport size_t RegisterMVGImage(void)
   entry->magick=(IsImageFormatHandler *) IsMVG;
   entry->adjoin=MagickFalse;
   entry->seekable_stream=MagickTrue;
+  entry->format_type=ImplicitFormatType;
   entry->description=ConstantString("Magick Vector Graphics");
   entry->module=ConstantString("MVG");
   (void) RegisterMagickInfo(entry);
diff --git a/coders/txt.c b/coders/txt.c
index e9ca738b1..0a602c764 100644
--- a/coders/txt.c
+++ b/coders/txt.c
@@ -421,8 +421,6 @@ static Image *ReadTXTImage(const ImageInfo *image_info,ExceptionInfo *exception)
     }
   (void) ResetMagickMemory(text,0,sizeof(text));
   (void) ReadBlobString(image,text);
-  if (LocaleNCompare((char *) text,MagickID,strlen(MagickID)) != 0)
-    return(ReadTEXTImage(image_info,image,text,exception));
   do
   {
     width=0;
@@ -611,10 +609,11 @@ ModuleExport size_t RegisterTXTImage(void)
   entry->module=ConstantString("TXT");
   (void) RegisterMagickInfo(entry);
   entry=SetMagickInfo("TEXT");
-  entry->decoder=(DecodeImageHandler *) ReadTXTImage;
+  entry->decoder=(DecodeImageHandler *) ReadTEXTImage;
   entry->encoder=(EncodeImageHandler *) WriteTXTImage;
   entry->raw=MagickTrue;
   entry->endian_support=MagickTrue;
+  entry->format_type=ImplicitFormatType;
   entry->description=ConstantString("Text");
   entry->module=ConstantString("TXT");
   (void) RegisterMagickInfo(entry);
diff --git a/magick/magic.c b/magick/magic.c
index 0b5447117..fbf89fe07 100644
--- a/magick/magic.c
+++ b/magick/magic.c
@@ -142,7 +142,6 @@ static const MagicMapInfo
     { "MPC", 0, MagickString("id=MagickCache") },
     { "MPEG", 0, MagickString("\000\000\001\263") },
     { "MRW", 0, MagickString("\x00MRM") },
-    { "MVG", 0, MagickString("push graphic-context") },
     { "ORF", 0, MagickString("IIRO\x08\x00\x00\x00") },
     { "PCD", 2048, MagickString("PCD_") },
     { "PCL", 0, MagickString("\033E\033") },
