GraphicsMagick: coders/wpg.c Fixed deffect in WPG header reading.

GraphicsMagick Commits <[email protected]>
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.40963.1673216090.1567.graphicsmagick-commit@lists.sourceforge.net>
changeset 4559dc88f5c3 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=4559dc88f5c3
summary: coders/wpg.c Fixed deffect in WPG header reading.

diffstat:

 ChangeLog      |   4 ++++
 ChangeLog.2022 |   2 +-
 coders/wpg.c   |  14 +++++++-------
 3 files changed, 12 insertions(+), 8 deletions(-)

diffs (73 lines):

diff -r 403c91fe1f53 -r 4559dc88f5c3 ChangeLog
--- a/ChangeLog	Sun Jan 08 10:54:47 2023 -0600
+++ b/ChangeLog	Sun Jan 08 23:14:15 2023 +0100
@@ -1,3 +1,7 @@
+2023-01-08  Fojtik Jaroslav  <[email protected]>
+
+	* coders/wpg.c Fixed deffect in WPG header reading.
+
 2023-01-08  Bob Friesenhahn  <[email protected]>
 
 	* coders/png.c (WriteOnePNGImage): Use lower-case raw profile
diff -r 403c91fe1f53 -r 4559dc88f5c3 ChangeLog.2022
--- a/ChangeLog.2022	Sun Jan 08 10:54:47 2023 -0600
+++ b/ChangeLog.2022	Sun Jan 08 23:14:15 2023 +0100
@@ -1,6 +1,6 @@
 2022-12-30  Fojtik Jaroslav  <[email protected]>
 
-	* coders/pcx.c (WritePCXImage): Meke default RLE compression.
+	* coders/pcx.c (WritePCXImage): Make default RLE compression.
 	Uncompressed PCX is more rare.
 
 2022-12-30  Bob Friesenhahn  <[email protected]>
diff -r 403c91fe1f53 -r 4559dc88f5c3 coders/wpg.c
--- a/coders/wpg.c	Sun Jan 08 10:54:47 2023 -0600
+++ b/coders/wpg.c	Sun Jan 08 23:14:15 2023 +0100
@@ -21,7 +21,7 @@
 %                                                                             %
 %                              Software Design                                %
 %                              Jaroslav Fojtik                                %
-%                              June 2000 - 2022                               %
+%                              June 2000 - 2023                               %
 %                         Rework for GraphicsMagick                           %
 %                              Bob Friesenhahn                                %
 %                               Feb-May 2003                                  %
@@ -1109,8 +1109,8 @@
   {
     unsigned long FileId;
     ExtendedSignedIntegralType DataOffset;  /* magick_uint32_t */
-    unsigned int ProductType;
-    unsigned int FileType;
+    unsigned char ProductType;
+    unsigned char FileType;
     unsigned char MajorVersion;
     unsigned char MinorVersion;
     unsigned int EncryptKey;
@@ -1250,15 +1250,15 @@
   */
   Header.FileId=ReadBlobLSBLong(image);
   Header.DataOffset=(ExtendedSignedIntegralType) ReadBlobLSBLong(image);
-  Header.ProductType=ReadBlobLSBShort(image);
-  Header.FileType=ReadBlobLSBShort(image);
+  Header.ProductType=ReadBlobByte(image);
+  Header.FileType=ReadBlobByte(image);
   Header.MajorVersion=ReadBlobByte(image);
   Header.MinorVersion=ReadBlobByte(image);
   Header.EncryptKey=ReadBlobLSBShort(image);
   Header.Reserved=ReadBlobLSBShort(image);
   if(logging) LogHeaderWPG(Header);
 
-  if (Header.FileId!=0x435057FF || (Header.ProductType>>8)!=0x16)
+  if (Header.FileId!=0x435057FF || Header.FileType!=0x16)
     ThrowReaderException(CorruptImageError,ImproperImageHeader,image);
   if (Header.EncryptKey!=0)
     ThrowReaderException(CoderError,EncryptedWPGImageFileNotSupported,image);
@@ -1285,7 +1285,7 @@
     ThrowReaderException(CorruptImageError,AnErrorHasOccurredReadingFromFile,image);
   }
 
-  switch(Header.FileType)
+  switch(Header.MajorVersion)
     {
     case 1:     /* WPG level 1 */
       BitmapHeader2.RotAngle = 0;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.