about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/HISTORY4
-rw-r--r--lib/pmfileio.c15
2 files changed, 15 insertions, 4 deletions
diff --git a/doc/HISTORY b/doc/HISTORY
index 51629cb9..6bb5a44f 100644
--- a/doc/HISTORY
+++ b/doc/HISTORY
@@ -8,6 +8,10 @@ not yet  BJH  Release 10.79.00
 
               Add pamtable .
 
+              libnetpbm: Improve error message for purported image that is
+              exactly 1 byte long (so ends in the middle of what would be the
+              magic number).
+
               pamcomp: fix incorrect output with -mixtransparency.
               Always broken.  (-mixtransparency was new in Netpbm 10.56,
               September 2011).
diff --git a/lib/pmfileio.c b/lib/pmfileio.c
index 035037ba..cfdac10d 100644
--- a/lib/pmfileio.c
+++ b/lib/pmfileio.c
@@ -774,11 +774,18 @@ pm_readmagicnumber(FILE * const ifP) {
     int ich1, ich2;
 
     ich1 = getc(ifP);
+
+    if (ich1 == EOF)
+        pm_error("Error reading first byte of what is expected to be "
+                 "a Netpbm magic number.  "
+                 "Most often, this means your input file is empty");
+
     ich2 = getc(ifP);
-    if (ich1 == EOF || ich2 == EOF)
-        pm_error( "Error reading magic number from Netpbm image stream.  "
-                  "Most often, this "
-                  "means your input file is empty." );
+
+    if (ich2 == EOF)
+        pm_error("Error reading second byte of what is expected to be "
+                 "a Netpbm magic number (the first byte was successfully "
+                 "read as 0x%02x)", ich1);
 
     return ich1 * 256 + ich2;
 }