about summary refs log tree commit diff
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2011-09-25 18:50:19 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2011-09-25 18:50:19 +0000
commit7f9ddfb76b7697992e57708215f28c98235c5669 (patch)
treeb170378467cc9a49933bd64ea56c016fa4402e60
parent05df19be4b055631d4129adf87c795ec980f571e (diff)
downloadnetpbm-mirror-7f9ddfb76b7697992e57708215f28c98235c5669.tar.gz
netpbm-mirror-7f9ddfb76b7697992e57708215f28c98235c5669.tar.xz
netpbm-mirror-7f9ddfb76b7697992e57708215f28c98235c5669.zip
Release 10.47.31
git-svn-id: http://svn.code.sf.net/p/netpbm/code/stable@1574 9d0c8265-081b-0410-96cb-a4ca84ce46f8
-rw-r--r--converter/other/bmptopnm.c24
-rw-r--r--converter/other/pnmtops.c2
-rw-r--r--doc/HISTORY8
-rw-r--r--doc/USERDOC6
-rw-r--r--version.mk2
5 files changed, 37 insertions, 5 deletions
diff --git a/converter/other/bmptopnm.c b/converter/other/bmptopnm.c
index 95ba099d..9a405d70 100644
--- a/converter/other/bmptopnm.c
+++ b/converter/other/bmptopnm.c
@@ -1295,6 +1295,25 @@ warnIfBadFileSize(struct bmpInfoHeader const BMPheader,
 
 
 
+static bool
+isValidBmpBpp(unsigned int const cBitCount) {
+
+    switch (cBitCount) {
+    case 1:
+    case 2:
+    case 4:
+    case 8:
+    case 16:
+    case 24:
+    case 32:
+        return true;
+    default:
+        return false;
+    }
+}
+
+
+
 static void
 readBmp(FILE *               const ifP, 
         unsigned char ***    const BMPrasterP, 
@@ -1352,6 +1371,11 @@ readBmp(FILE *               const ifP,
     if (fgetc(ifP) != EOF)
         pm_message("warning: some image data remains unread.");
     
+    if (!isValidBmpBpp(BMPheader.cBitCount))
+        pm_error("Invalid BMP image: 'cBitCount' field of header "
+                 "(number of bits for each pixel in raster) is %u",
+                 BMPheader.cBitCount);
+
     *colsP        = BMPheader.cols;
     *rowsP        = BMPheader.rows;
     *cBitCountP   = BMPheader.cBitCount;
diff --git a/converter/other/pnmtops.c b/converter/other/pnmtops.c
index 1568bd28..8fc8ba6b 100644
--- a/converter/other/pnmtops.c
+++ b/converter/other/pnmtops.c
@@ -648,7 +648,7 @@ computeImagePosition(int     const dpiX,
     if (verbose)
         pm_message("Image will be %3.2f points wide by %3.2f points high, "
                    "left edge %3.2f points from left edge of page, "
-                   "bottom edge %3.2f points from top of page; "
+                   "bottom edge %3.2f points from bottom of page; "
                    "%sturned to landscape orientation",
                    *scolsP, *srowsP, *llxP, *llyP, *turnedP ? "" : "NOT ");
 }
diff --git a/doc/HISTORY b/doc/HISTORY
index d4b012ed..ed330e73 100644
--- a/doc/HISTORY
+++ b/doc/HISTORY
@@ -4,6 +4,14 @@ Netpbm.
 CHANGE HISTORY 
 --------------
 
+11.09.25 BJH  Release 10.47.31
+
+              bmptopnm: Fail properly with BMP that indicates an illegal bits
+              per pixel.
+
+              pnmtops: fix message: says "from top edge" where it means
+              "from bottom edge."
+
 11.08.22 BJH  Release 10.47.30
 
               pnmtopng: fix bug: with -alpha specifying a mask which contains
diff --git a/doc/USERDOC b/doc/USERDOC
index 3dcfb00d..0eec24b4 100644
--- a/doc/USERDOC
+++ b/doc/USERDOC
@@ -125,9 +125,9 @@ Here is an example of making troff pages:
   wget --recursive --relative http://netpbm.sourceforge.net/doc/
   cd netpbm.sourceforge.net/doc
   make MAKEMAN=/usr/src/netpbm/buildtools/makeman \
-    -f /usr/src/netpbm/buildtools/Makefile.manpage manpages
-  make -f /usr/src/netpbm/buildtools/Makefile.manpage manpages
-  make -f /usr/src/netpbm/buildtools/Makefile.manpage installman
+    -f /usr/src/netpbm/buildtools/manpage.mk manpages
+  make -f /usr/src/netpbm/buildtools/manpage.mk manpages
+  make -f /usr/src/netpbm/buildtools/manpage.mk installman
   cd ../../..
   rm -r netpbmdoc
 
diff --git a/version.mk b/version.mk
index cb5ddf26..178688b7 100644
--- a/version.mk
+++ b/version.mk
@@ -1,3 +1,3 @@
 NETPBM_MAJOR_RELEASE = 10
 NETPBM_MINOR_RELEASE = 47
-NETPBM_POINT_RELEASE = 30
+NETPBM_POINT_RELEASE = 31