rpms/netpbm/FC-3 netpbm-10.28-gcc4.patch, NONE, 1.1 netpbm-10.22-security2.patch, 1.2, 1.3 netpbm-10.23-security.patch, 1.4, 1.5 netpbm-10.27-libpm.patch, 1.1, 1.2 netpbm.spec, 1.28, 1.29 sources, 1.13, 1.14 netpbm-10.23-pngtopnm.patch, 1.1, NONE netpbm-10.26.4-gcc4.patch, 1.1, NONE netpbm-10.27-badlink.patch, 1.2, NONE netpbm-10.27-pnmcolormap.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Jul 29 08:46:29 UTC 2005


Author: jnovy

Update of /cvs/dist/rpms/netpbm/FC-3
In directory cvs.devel.redhat.com:/tmp/cvs-serv32543

Modified Files:
	netpbm-10.22-security2.patch netpbm-10.23-security.patch 
	netpbm-10.27-libpm.patch netpbm.spec sources 
Added Files:
	netpbm-10.28-gcc4.patch 
Removed Files:
	netpbm-10.23-pngtopnm.patch netpbm-10.26.4-gcc4.patch 
	netpbm-10.27-badlink.patch netpbm-10.27-pnmcolormap.patch 
Log Message:

- update to 10.28
- regenerate man pages
- sync .security, .security2, .gcc4 patches
- drop upstreamed .pngtopnm, .badlink, .pnmcolormap patches
- create symlink pnmtopnm -> pamtopnm, this works now in
  netpbm-10.28 (#161436)
- fix buffer overflow in pbmtolj (#163596)



netpbm-10.28-gcc4.patch:
 buildtools/typegen.c         |    1 +
 converter/ppm/ppmtowinicon.c |    2 +-
 lib/pm.h                     |    1 +
 urt/Runput.c                 |    3 ++-
 urt/rle.h                    |    1 +
 urt/rle_getrow.c             |    3 ++-
 6 files changed, 8 insertions(+), 3 deletions(-)

--- NEW FILE netpbm-10.28-gcc4.patch ---
--- netpbm-10.28/converter/ppm/ppmtowinicon.c.gcc4	2005-06-10 10:34:45.341676768 +0200
+++ netpbm-10.28/converter/ppm/ppmtowinicon.c	2005-06-10 10:34:51.749702600 +0200
@@ -745,7 +745,7 @@ addEntryToIcon(MS_Ico       const MSIcon
     * Perhaps I should use something that allocs a decent amount at start...
     */
     MSIconData->entries = 
-        realloc2 (MSIconData->entries, MSIconData->count * sizeof(IC_Entry *));
+        (IC_Entry*)realloc2 (MSIconData->entries, MSIconData->count * sizeof(IC_Entry *));
     MSIconData->entries[MSIconData->count-1] = entry;
 }
 
--- netpbm-10.28/buildtools/typegen.c.gcc4	2005-04-27 18:24:29.000000000 +0200
+++ netpbm-10.28/buildtools/typegen.c	2005-06-10 10:34:51.749702600 +0200
@@ -28,6 +28,7 @@
   We also include the multiple inclusion guard ifdef.
 -----------------------------------------------------------------------------*/
 #include <stdio.h>
+#include <stdlib.h>
 #include <unistd.h>
 
 
--- netpbm-10.28/lib/pm.h.gcc4	2005-06-10 10:34:45.399667952 +0200
+++ netpbm-10.28/lib/pm.h	2005-06-10 10:34:51.750702448 +0200
@@ -18,6 +18,7 @@
 #include <sys/types.h>
 #include <ctype.h>
 #include <stdio.h>
+#include <string.h>
 #include <errno.h>
 #include <setjmp.h>
 #include <sys/stat.h>
--- netpbm-10.28/urt/rle_getrow.c.gcc4	2005-06-10 10:34:45.401667648 +0200
+++ netpbm-10.28/urt/rle_getrow.c	2005-06-10 10:34:51.751702296 +0200
@@ -32,7 +32,8 @@
  * $Id: rle_getrow.c,v 3.0.1.5 1992/03/04 19:33:08 spencer Exp spencer $
  */
 
-#include "stdio.h"
+#include <stdio.h>
+#include <string.h>
 #include "rle.h"
 #include "rle_code.h"
 #include "vaxshort.h"
--- netpbm-10.28/urt/rle.h.gcc4	2005-06-10 10:34:45.402667496 +0200
+++ netpbm-10.28/urt/rle.h	2005-06-10 10:34:51.752702144 +0200
@@ -36,6 +36,7 @@
 #include "rle_config.h"		/* Configuration parameters. */
 
 #include <stdio.h>		/* Declare FILE. */
+#include <string.h>
 
 #ifdef c_plusplus
 #define USE_PROTOTYPES
--- netpbm-10.28/urt/Runput.c.gcc4	2005-06-10 10:34:45.400667800 +0200
+++ netpbm-10.28/urt/Runput.c	2005-06-10 10:34:51.753701992 +0200
@@ -92,7 +92,8 @@
  * 		    follow the last byte in the run.
  */
 
-#include	"stdio.h"
+#include	<stdio.h>
+#include 	<string.h>
 #include	"rle_put.h"
 #include	"rle.h"
 #include	"rle_code.h"

netpbm-10.22-security2.patch:
 converter/other/anytopnm |   14 +++-
 editor/pamstretch-gen    |    5 -
 editor/pnmmargin         |   31 +++++++---
 editor/ppmfade           |  137 ++++++++++++++++++++++++-----------------------
 editor/ppmquantall       |    9 ---
 editor/ppmshadow         |    7 +-
 6 files changed, 109 insertions(+), 94 deletions(-)

Index: netpbm-10.22-security2.patch
===================================================================
RCS file: /cvs/dist/rpms/netpbm/FC-3/netpbm-10.22-security2.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- netpbm-10.22-security2.patch	23 May 2005 11:15:50 -0000	1.2
+++ netpbm-10.22-security2.patch	29 Jul 2005 08:46:27 -0000	1.3
@@ -1,5 +1,5 @@
---- netpbm-10.27/converter/other/anytopnm.security2	2004-10-13 17:05:53.000000000 +0200
-+++ netpbm-10.27/converter/other/anytopnm	2005-03-29 14:03:43.449904176 +0200
+--- netpbm-10.28/converter/other/anytopnm.security2	2005-05-27 00:10:39.000000000 +0200
++++ netpbm-10.28/converter/other/anytopnm	2005-06-10 09:42:48.609492080 +0200
 @@ -522,11 +522,7 @@ else
      inputFile="-"
  fi
@@ -8,7 +8,7 @@
 -mkdir $tempdir || { echo "Could not create temporary file. Exiting."; exit 1;}
 -chmod 700 $tempdir
 -
--trap 'rm -rf $tempdir' 0 1 3 15
+-trap 'rm -rf $tempdir' 0
 +tempdir=$(mktemp -d -t anytopnm.XXXXXXXXXX) || exit 1
  
  findAwk;
@@ -31,23 +31,8 @@
 +fi
 +
  exit 0
---- netpbm-10.27/converter/ppm/ppmtompeg/parallel.c.security2	2005-03-05 06:07:50.000000000 +0100
-+++ netpbm-10.27/converter/ppm/ppmtompeg/parallel.c	2005-03-29 14:03:43.452903720 +0200
-@@ -1058,8 +1058,11 @@ GetRemoteFrame(MpegFrame * const frameP,
-             int numBytes;  /* Number of data bytes in message */
-             FILE * filePtr;
-             char fileName[256];
-+#define TMPFILE_TEMPLATE "/tmp/ppmtompeg.XXXXXX"
- 
--            sprintf(fileName, "/tmp/foobar%d", machineNumber);
-+            strcpy(fileName, TMPFILE_TEMPLATE);
-+            if (-1 == mkstemp(fileName))
-+                pm_error( "could not create temporary convolution file");
-             filePtr = fopen(fileName, "wb");
- 
-             /* read in stuff, write to file, perform local conversion */
---- netpbm-10.27/editor/ppmfade.security2	2005-03-16 22:10:39.000000000 +0100
-+++ netpbm-10.27/editor/ppmfade	2005-03-29 14:29:07.975141112 +0200
+--- netpbm-10.28/editor/ppmfade.security2	2005-03-16 22:10:39.000000000 +0100
++++ netpbm-10.28/editor/ppmfade	2005-06-10 09:02:04.545046352 +0200
 @@ -14,6 +14,7 @@
  #
  #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
@@ -312,8 +297,8 @@
  
  exit(0);
  
---- netpbm-10.27/editor/ppmquantall.security2	2005-03-17 00:44:03.000000000 +0100
-+++ netpbm-10.27/editor/ppmquantall	2005-03-29 14:03:43.441905392 +0200
+--- netpbm-10.28/editor/ppmquantall.security2	2005-03-17 00:44:03.000000000 +0100
++++ netpbm-10.28/editor/ppmquantall	2005-06-10 09:02:04.547046048 +0200
 @@ -63,13 +63,8 @@ for i in ${files[@]}; do
      heights=(${heights[*]} `grep -v '^#' $i | sed '1d; s/.* //; 2q'`)
  done
@@ -330,8 +315,8 @@
  
  pnmcat -topbottom -jleft -white ${files[@]} | pnmquant $newcolors > $all
  if [ $? != 0 ]; then
---- netpbm-10.27/editor/pnmmargin.security2	2003-12-31 05:01:26.000000000 +0100
-+++ netpbm-10.27/editor/pnmmargin	2005-03-29 14:03:43.442905240 +0200
+--- netpbm-10.28/editor/pnmmargin.security2	2003-12-31 05:01:26.000000000 +0100
++++ netpbm-10.28/editor/pnmmargin	2005-06-10 09:02:04.549045744 +0200
 @@ -11,16 +11,11 @@
  # documentation.  This software is provided "as is" without express or
  # implied warranty.
@@ -402,8 +387,8 @@
 +if [ -d "$tmpdir" ]; then
 +    rm -rf "$tmpdir"
 +fi
---- netpbm-10.27/editor/pamstretch-gen.security2	2004-07-25 02:01:24.000000000 +0200
-+++ netpbm-10.27/editor/pamstretch-gen	2005-03-29 14:03:43.443905088 +0200
+--- netpbm-10.28/editor/pamstretch-gen.security2	2004-07-25 02:01:24.000000000 +0200
++++ netpbm-10.28/editor/pamstretch-gen	2005-06-10 09:02:04.550045592 +0200
 @@ -31,10 +31,7 @@ if [ "$1" = "" ]; then
    exit 1
  fi
@@ -416,18 +401,18 @@
  
  trap 'rm -rf $tempdir' 0 1 3 15
  
---- netpbm-10.27/editor/ppmshadow.security2	2005-03-16 22:10:25.000000000 +0100
-+++ netpbm-10.27/editor/ppmshadow	2005-03-29 14:03:43.447904480 +0200
-@@ -27,9 +27,10 @@ use strict;
- my $true=1; my $false=0;
+--- netpbm-10.28/editor/ppmshadow.security2	2005-04-23 23:16:16.000000000 +0200
++++ netpbm-10.28/editor/ppmshadow	2005-06-10 09:37:19.253561792 +0200
+@@ -72,9 +72,10 @@ sub makeConvolutionKernel($$) {
+ 
  
  my $tmpdir = $ENV{TMPDIR} || "/tmp";
 -my $ourtmp = "$tmpdir/ppmshadow$$";
--mkdir($ourtmp) or 
+-mkdir($ourtmp, 0777) or
 -    die("Unable to create directory for temporary files '$ourtmp");
 +chomp($ourtmp = `mktemp -d -t PPMshadow.XXXXXX`);
 +if ($? >> 8) {
-+    die "Can't create tmpdir";
++    die "Can't create directory for temporary files";
 +}
  
  #   Process command line options

netpbm-10.23-security.patch:
 OPENLICENSE                              |  163 +++++++++++++++++++++++++++++++
 analyzer/pgmhist.c                       |    1 
 analyzer/pgmtexture.c                    |   15 ++
 converter/other/gemtopnm.c               |    1 
 converter/other/jpegtopnm.c              |    1 
 converter/other/pbmtopgm.c               |    1 
 converter/other/pngtopnm.c               |   19 ++-
 converter/other/pnmtoddif.c              |    2 
 converter/other/pnmtojpeg.c              |    9 +
 converter/other/pnmtopalm/palmcolormap.c |    2 
 converter/other/pnmtops.c                |   11 +-
 converter/other/pnmtorle.c               |    2 
 converter/other/pnmtosgi.c               |   19 +++
 converter/other/pnmtotiff.c              |    7 -
 converter/other/rletopnm.c               |    2 
 converter/other/sgitopnm.c               |    6 -
 converter/other/sirtopnm.c               |    1 
 converter/other/tifftopnm.c              |    3 
 converter/other/xwdtopnm.c               |    8 +
 converter/pbm/icontopbm.c                |    7 +
 converter/pbm/mdatopbm.c                 |    5 
 converter/pbm/mgrtopbm.c                 |    2 
 converter/pbm/pbmto10x.c                 |    2 
 converter/pbm/pbmto4425.c                |    3 
 converter/pbm/pbmtoascii.c               |    2 
 converter/pbm/pbmtocmuwm.c               |    1 
 converter/pbm/pbmtogem.c                 |    1 
 converter/pbm/pbmtogo.c                  |    1 
 converter/pbm/pbmtoicon.c                |    1 
 converter/pbm/pbmtolj.c                  |    4 
 converter/pbm/pbmtomacp.c                |    3 
 converter/pbm/pbmtomda.c                 |    1 
 converter/pbm/pbmtomgr.c                 |    1 
 converter/pbm/pbmtoppa/pbm.c             |    4 
 converter/pbm/pbmtoppa/pbmtoppa.c        |    1 
 converter/pbm/pbmtox10bm.c               |    1 
 converter/pbm/pbmtoxbm.c                 |    1 
 converter/pbm/pbmtoybm.c                 |    1 
 converter/pbm/pbmtozinc.c                |    1 
 converter/pbm/pktopbm.c                  |    1 
 converter/pbm/thinkjettopbm.l            |    4 
 converter/pbm/ybmtopbm.c                 |    1 
 converter/pgm/lispmtopgm.c               |    5 
 converter/pgm/psidtopgm.c                |    1 
 converter/ppm/Makefile                   |    2 
 converter/ppm/ilbmtoppm.c                |   28 +++++
 converter/ppm/imgtoppm.c                 |    2 
 converter/ppm/pcxtoppm.c                 |    4 
 converter/ppm/picttoppm.c                |    2 
 converter/ppm/pjtoppm.c                  |   21 ++-
 converter/ppm/ppmtoeyuv.c                |    1 
 converter/ppm/ppmtoicr.c                 |    2 
 converter/ppm/ppmtoilbm.c                |    9 +
 converter/ppm/ppmtolj.c                  |    1 
 converter/ppm/ppmtomitsu.c               |    2 
 converter/ppm/ppmtompeg/frame.c          |   72 ++++++-------
 converter/ppm/ppmtompeg/iframe.c         |   18 +--
 converter/ppm/ppmtompeg/jpeg.c           |    2 
 converter/ppm/ppmtompeg/parallel.c       |    4 
 converter/ppm/ppmtompeg/psearch.c        |   18 +++
 converter/ppm/ppmtompeg/rgbtoycc.c       |    2 
 converter/ppm/ppmtopcx.c                 |    2 
 converter/ppm/ppmtopict.c                |    2 
 converter/ppm/ppmtopj.c                  |    1 
 converter/ppm/ppmtopjxl.c                |    8 +
 converter/ppm/ppmtowinicon.c             |   11 +-
 converter/ppm/ppmtoxpm.c                 |    2 
 converter/ppm/qrttoppm.c                 |    2 
 converter/ppm/sldtoppm.c                 |    4 
 converter/ppm/ximtoppm.c                 |    4 
 converter/ppm/xpmtoppm.c                 |    1 
 converter/ppm/yuvtoppm.c                 |    1 
 doc/COPYRIGHT.PATENT                     |    5 
 editor/pamcut.c                          |    2 
 editor/pamoil.c                          |    1 
 editor/pbmclean.c                        |    2 
 editor/pbmlife.c                         |    2 
 editor/pbmpscale.c                       |    1 
 editor/pbmreduce.c                       |    1 
 editor/pnmcrop.c                         |    2 
 editor/pnmcut.c                          |    1 
 editor/pnmgamma.c                        |    1 
 editor/pnmhisteq.c                       |    1 
 editor/pnmindex.csh                      |    3 
 editor/pnmpad.c                          |    2 
 editor/pnmpaste.c                        |    5 
 editor/pnmremap.c                        |    2 
 editor/pnmrotate.c                       |    8 +
 editor/pnmscalefixed.c                   |    7 +
 editor/pnmshear.c                        |    6 +
 editor/ppmdither.c                       |    6 -
 generator/pbmpage.c                      |    3 
 generator/pbmtext.c                      |   14 ++
 generator/pgmcrater.c                    |    2 
 generator/pgmkernel.c                    |    2 
 generator/ppmrainbow                     |    2 
 lib/libpam.c                             |    3 
 lib/libpammap.c                          |    2 
 lib/libpbm1.c                            |    1 
 lib/libpbmvms.c                          |    2 
 lib/libpm.c                              |   54 +++++++++-
 lib/pm.h                                 |    6 +
 other/pnmcolormap.c                      |    1 
 urt/README                               |    5 
 urt/Runput.c                             |   10 +
 urt/rle.h                                |   13 ++
 urt/rle_addhist.c                        |   19 ++-
 urt/rle_getrow.c                         |   17 +--
 urt/rle_hdr.c                            |   19 +++
 urt/rle_open_f.c                         |    8 +
 urt/rle_putcom.c                         |    9 +
 urt/scanargs.c                           |    6 -
 112 files changed, 693 insertions(+), 119 deletions(-)

Index: netpbm-10.23-security.patch
===================================================================
RCS file: /cvs/dist/rpms/netpbm/FC-3/netpbm-10.23-security.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- netpbm-10.23-security.patch	27 Jun 2005 12:01:14 -0000	1.4
+++ netpbm-10.23-security.patch	29 Jul 2005 08:46:27 -0000	1.5
@@ -1,5 +1,5 @@
---- netpbm-10.27/generator/ppmrainbow.security	2003-01-04 01:40:56.000000000 +0100
-+++ netpbm-10.27/generator/ppmrainbow	2005-05-16 11:12:43.993388752 +0200
+--- netpbm-10.28/generator/ppmrainbow.security	2003-01-04 01:40:56.000000000 +0100
++++ netpbm-10.28/generator/ppmrainbow	2005-06-10 09:44:00.275597176 +0200
 @@ -11,7 +11,7 @@ my ($Twid, $Thgt, $tmpdir, $norepeat, $v
  # set defaults
  $Twid = 600;
@@ -9,17 +9,9 @@
  $norepeat = $FALSE;
  $verbose = $FALSE;
  
---- netpbm-10.27/generator/pbmpage.c.security	2003-07-09 20:48:11.000000000 +0200
-+++ netpbm-10.27/generator/pbmpage.c	2005-05-16 11:12:43.994388600 +0200
-@@ -15,6 +15,7 @@
- #include <math.h>
- #include <stdio.h>
- #include <stdlib.h>
-+#include <string.h>
- #include "pbm.h"
- 
- /* Support both US and A4. */
-@@ -161,6 +162,9 @@ output_pbm(FILE *file, const int Width, 
+--- netpbm-10.28/generator/pbmpage.c.security	2005-05-22 20:43:13.000000000 +0200
++++ netpbm-10.28/generator/pbmpage.c	2005-06-10 09:44:00.276597024 +0200
+@@ -163,6 +163,9 @@ output_pbm(FILE *file, const int Width, 
      /* We round the allocated row space up to a multiple of 8 so the ugly
         fast code below can work.
         */
@@ -29,8 +21,8 @@
      pbmrow = pbm_allocrow(((Width+7)/8)*8);
      
      bitmap_cursor = 0;
---- netpbm-10.27/generator/pbmtext.c.security	2004-12-08 05:56:06.000000000 +0100
-+++ netpbm-10.27/generator/pbmtext.c	2005-05-16 11:12:43.996388296 +0200
+--- netpbm-10.28/generator/pbmtext.c.security	2005-04-14 19:03:43.000000000 +0200
++++ netpbm-10.28/generator/pbmtext.c	2005-06-10 09:44:00.278596720 +0200
 @@ -89,12 +89,14 @@ parse_command_line(int argc, char ** arg
          
          for (i = 1; i < argc; i++) {
@@ -93,8 +85,8 @@
      bits = pbm_allocarray(cols, rows);
  
      /* Fill background with white */
---- netpbm-10.27/generator/pgmcrater.c.security	2003-07-06 22:02:41.000000000 +0200
-+++ netpbm-10.27/generator/pgmcrater.c	2005-05-16 11:12:43.997388144 +0200
+--- netpbm-10.28/generator/pgmcrater.c.security	2003-07-06 22:02:41.000000000 +0200
++++ netpbm-10.28/generator/pgmcrater.c	2005-06-10 09:44:00.279596568 +0200
 @@ -131,7 +131,7 @@ static void gencraters()
      /* Acquire the elevation array and initialise it to mean
         surface elevation. */
@@ -104,8 +96,8 @@
      if (aux == NULL) 
          pm_error("out of memory allocating elevation array");
  
---- netpbm-10.27/generator/pgmkernel.c.security	2003-07-06 22:03:29.000000000 +0200
-+++ netpbm-10.27/generator/pgmkernel.c	2005-05-16 11:12:43.998387992 +0200
+--- netpbm-10.28/generator/pgmkernel.c.security	2003-07-06 22:03:29.000000000 +0200
++++ netpbm-10.28/generator/pgmkernel.c	2005-06-10 09:44:00.280596416 +0200
 @@ -68,7 +68,7 @@ main ( argc, argv )
      kycenter = (fysize - 1) / 2.0;
      ixsize = fxsize + 0.999;
@@ -115,8 +107,8 @@
      for (i = 0; i < iysize; i++) 
          for (j = 0; j < ixsize; j++) {
              fkernel[i*ixsize+j] = 1.0 / (1.0 + w * sqrt((double)
---- netpbm-10.27/converter/other/pbmtopgm.c.security	2004-09-18 05:15:02.000000000 +0200
-+++ netpbm-10.27/converter/other/pbmtopgm.c	2005-05-16 11:12:43.999387840 +0200
+--- netpbm-10.28/converter/other/pbmtopgm.c.security	2004-09-18 05:15:02.000000000 +0200
++++ netpbm-10.28/converter/other/pbmtopgm.c	2005-06-10 09:44:00.280596416 +0200
 @@ -45,6 +45,7 @@ main(int argc, char *argv[]) {
                   "than the image height (%u rows)", height, rows);
  
@@ -125,8 +117,8 @@
      maxval = MIN(PGM_OVERALLMAXVAL, width*height);
      pgm_writepgminit(stdout, cols, rows, maxval, 0) ;
  
---- netpbm-10.27/converter/other/sirtopnm.c.security	2002-01-04 18:22:45.000000000 +0100
-+++ netpbm-10.27/converter/other/sirtopnm.c	2005-05-16 11:12:44.000387688 +0200
+--- netpbm-10.28/converter/other/sirtopnm.c.security	2002-01-04 18:22:45.000000000 +0100
++++ netpbm-10.28/converter/other/sirtopnm.c	2005-06-10 09:44:00.281596264 +0200
 @@ -69,6 +69,7 @@ char* argv[];
  	    }
  	    break;
@@ -135,8 +127,8 @@
  	    picsize = cols * rows * 3;
  	    planesize = cols * rows;
              if ( !( sirarray = (unsigned char*) malloc( picsize ) ) ) 
---- netpbm-10.27/converter/other/sgitopnm.c.security	2003-07-10 05:42:28.000000000 +0200
-+++ netpbm-10.27/converter/other/sgitopnm.c	2005-05-16 11:12:44.001387536 +0200
+--- netpbm-10.28/converter/other/sgitopnm.c.security	2003-07-10 05:42:28.000000000 +0200
++++ netpbm-10.28/converter/other/sgitopnm.c	2005-06-10 09:44:00.282596112 +0200
 @@ -252,13 +252,17 @@ read_channels(ifp, head, table, func, oc
  
      if (ochan < 0) {
@@ -156,8 +148,8 @@
  
      for( channel = 0; channel < maxchannel;  channel++ ) {
  #ifdef DEBUG
---- netpbm-10.27/converter/other/pnmtosgi.c.security	2003-07-10 06:04:07.000000000 +0200
-+++ netpbm-10.27/converter/other/pnmtosgi.c	2005-05-16 11:12:44.002387384 +0200
+--- netpbm-10.28/converter/other/pnmtosgi.c.security	2003-07-10 06:04:07.000000000 +0200
++++ netpbm-10.28/converter/other/pnmtosgi.c	2005-06-10 09:44:00.283595960 +0200
 @@ -213,6 +213,22 @@ write_channels(cols, rows, channels, put
      }
  }
@@ -198,8 +190,8 @@
              len = rle_compress(temp, cols);    /* writes result into rletemp */
              channel[chan_no][row].length = len;
              MALLOCARRAY(p, len);
---- netpbm-10.27/converter/other/tifftopnm.c.security	2005-03-28 01:32:05.000000000 +0200
-+++ netpbm-10.27/converter/other/tifftopnm.c	2005-05-16 11:12:44.004387080 +0200
+--- netpbm-10.28/converter/other/tifftopnm.c.security	2005-03-28 01:32:05.000000000 +0200
++++ netpbm-10.28/converter/other/tifftopnm.c	2005-06-10 09:44:00.285595656 +0200
 @@ -742,7 +742,8 @@ convertRasterByRows(FILE *         const
      if (scanbuf == NULL)
          pm_error("can't allocate memory for scanline buffer");
@@ -210,8 +202,8 @@
      if (samplebuf == NULL)
          pm_error ("can't allocate memory for row buffer");
  
---- netpbm-10.27/converter/other/pnmtorle.c.security	2003-07-10 06:04:49.000000000 +0200
-+++ netpbm-10.27/converter/other/pnmtorle.c	2005-05-16 11:12:44.005386928 +0200
+--- netpbm-10.28/converter/other/pnmtorle.c.security	2005-05-22 19:01:43.000000000 +0200
++++ netpbm-10.28/converter/other/pnmtorle.c	2005-06-10 09:44:00.286595504 +0200
 @@ -19,6 +19,8 @@
   * If you modify this software, you should include a notice giving the
   * name of the person performing the modification, the date of modification,
@@ -221,8 +213,8 @@
   */
  /*
   * pnmtorle - A program which will convert pbmplus (ppm or pgm) images
---- netpbm-10.27/converter/other/jpegtopnm.c.security	2004-10-26 06:20:07.000000000 +0200
-+++ netpbm-10.27/converter/other/jpegtopnm.c	2005-05-16 11:12:44.007386624 +0200
+--- netpbm-10.28/converter/other/jpegtopnm.c.security	2004-10-26 06:20:07.000000000 +0200
++++ netpbm-10.28/converter/other/jpegtopnm.c	2005-06-10 09:44:00.288595200 +0200
 @@ -828,6 +828,7 @@ convertImage(FILE *                     
      /* Calculate output image dimensions so we can allocate space */
      jpeg_calc_output_dimensions(cinfoP);
@@ -231,8 +223,8 @@
      jpegbuffer = ((*cinfoP->mem->alloc_sarray)
                    ((j_common_ptr) cinfoP, JPOOL_IMAGE,
                     cinfoP->output_width * cinfoP->output_components, 
---- netpbm-10.27/converter/other/rletopnm.c.security	2004-10-19 17:36:22.000000000 +0200
-+++ netpbm-10.27/converter/other/rletopnm.c	2005-05-16 11:12:44.009386320 +0200
+--- netpbm-10.28/converter/other/rletopnm.c.security	2004-10-19 17:36:22.000000000 +0200
++++ netpbm-10.28/converter/other/rletopnm.c	2005-06-10 09:44:00.289595048 +0200
 @@ -19,6 +19,8 @@
   * If you modify this software, you should include a notice giving the
   * name of the person performing the modification, the date of modification,
@@ -242,8 +234,8 @@
   */
  /*
   * rletopnm - A conversion program to convert from Utah's "rle" image format
---- netpbm-10.27/converter/other/pnmtotiff.c.security	2005-03-28 01:16:55.000000000 +0200
-+++ netpbm-10.27/converter/other/pnmtotiff.c	2005-05-16 11:12:44.010386168 +0200
+--- netpbm-10.28/converter/other/pnmtotiff.c.security	2005-03-28 01:16:55.000000000 +0200
++++ netpbm-10.28/converter/other/pnmtotiff.c	2005-06-10 09:44:00.291594744 +0200
 @@ -620,11 +620,14 @@ computeRasterParm(int              const
      if (*bitspersampleP < 8) {
          int samplesperbyte;
@@ -261,8 +253,8 @@
      if (requested_rowsperstrip == -1 )
          *rowsperstripP = (8 * 1024) / *bytesperrowP;
      else 
---- netpbm-10.27/converter/other/pnmtopalm/palmcolormap.c.security	2004-10-16 19:50:24.000000000 +0200
-+++ netpbm-10.27/converter/other/pnmtopalm/palmcolormap.c	2005-05-16 11:12:44.011386016 +0200
+--- netpbm-10.28/converter/other/pnmtopalm/palmcolormap.c.security	2004-10-16 19:50:24.000000000 +0200
++++ netpbm-10.28/converter/other/pnmtopalm/palmcolormap.c	2005-06-10 09:44:00.292594592 +0200
 @@ -232,7 +232,7 @@ Colormap
      return 0;
  
@@ -272,41 +264,42 @@
    colormap->nentries = ncolors;
    colormap->ncolors = ncolors;
  
---- netpbm-10.27/converter/other/pngtopnm.c.security	2005-03-25 06:08:44.000000000 +0100
-+++ netpbm-10.27/converter/other/pngtopnm.c	2005-05-16 11:12:44.012385864 +0200
-@@ -744,18 +744,30 @@ convertpng (FILE *             const ifp
-   }
- 
-   if (info_ptr->bit_depth == 16)
-+  {
-+    overflow2(2, info_ptr->width);
-     linesize = 2 * info_ptr->width;
-+  }
-   else
-     linesize = info_ptr->width;
- 
-   if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
-+  {
-     linesize *= 2;
-+    overflow2(2, linesize);
-+  }
-   else
-   if (info_ptr->color_type == PNG_COLOR_TYPE_RGB)
-+  {
-+    overflow2(3, linesize);
-     linesize *= 3;
-+  }
-   else
-   if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
-+  {
-+    overflow2(4, linesize);
-     linesize *= 4;
-+  }
- 
-   for (y = 0 ; y < info_ptr->height ; y++) {
-     png_image[y] = malloc (linesize);
---- netpbm-10.27/converter/other/gemtopnm.c.security	2004-09-18 05:15:23.000000000 +0200
-+++ netpbm-10.27/converter/other/gemtopnm.c	2005-05-16 11:12:44.014385560 +0200
+--- netpbm-10.28/converter/other/pngtopnm.c.security	2005-05-22 18:58:26.000000000 +0200
++++ netpbm-10.28/converter/other/pngtopnm.c	2005-06-10 09:59:09.558365184 +0200
+@@ -894,19 +894,24 @@ convertpng (FILE *             const ifp
+         pm_error ("couldn't allocate space for image");
+     }
+ 
+-    if (info_ptr->bit_depth == 16)
++    if (info_ptr->bit_depth == 16) {
++        overflow2(2, info_ptr->width);
+         linesize = 2 * info_ptr->width;
+-    else
++    } else
+         linesize = info_ptr->width;
+ 
+-    if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++    if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
++        overflow2(2, linesize);
+         linesize *= 2;
+-    else
+-        if (info_ptr->color_type == PNG_COLOR_TYPE_RGB)
++    } else
++        if (info_ptr->color_type == PNG_COLOR_TYPE_RGB) {
++            overflow2(3, linesize);
+             linesize *= 3;
+-        else
+-            if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++        } else
++            if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) {
++                overflow2(4, linesize);
+                 linesize *= 4;
++	    }
+ 
+     for (y = 0 ; y < info_ptr->height ; y++) {
+         png_image[y] = malloc (linesize);
+--- netpbm-10.28/converter/other/gemtopnm.c.security	2004-09-18 05:15:23.000000000 +0200
++++ netpbm-10.28/converter/other/gemtopnm.c	2005-06-10 09:44:00.296593984 +0200
 @@ -106,6 +106,7 @@ main(argc, argv)
  
  	pnm_writepnminit( stdout, cols, rows, MAXVAL, type, 0 );
@@ -315,8 +308,8 @@
      { 
          /* allocate input row data structure */
          int plane;
---- netpbm-10.27/converter/other/pnmtojpeg.c.security	2004-07-17 06:05:54.000000000 +0200
-+++ netpbm-10.27/converter/other/pnmtojpeg.c	2005-05-16 11:14:55.119454560 +0200
+--- netpbm-10.28/converter/other/pnmtojpeg.c.security	2004-07-17 06:05:54.000000000 +0200
++++ netpbm-10.28/converter/other/pnmtojpeg.c	2005-06-10 09:44:00.298593680 +0200
 @@ -588,6 +588,8 @@ compute_rescaling_array(JSAMPLE ** const
    const long half_maxval = maxval / 2;
    long val;
@@ -347,8 +340,8 @@
              (jpeg_scan_info *)
              (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
                                          scan_info_size);
---- netpbm-10.27/converter/other/pnmtops.c.security	2005-01-06 02:04:39.000000000 +0100
-+++ netpbm-10.27/converter/other/pnmtops.c	2005-05-16 11:12:44.017385104 +0200
+--- netpbm-10.28/converter/other/pnmtops.c.security	2005-01-06 02:04:39.000000000 +0100
++++ netpbm-10.28/converter/other/pnmtops.c	2005-06-10 09:44:00.300593376 +0200
 @@ -187,16 +187,21 @@ parseCommandLine(int argc, char ** argv,
      cmdlineP->canturn =  !noturn;
      cmdlineP->showpage = !noshowpage;
@@ -374,9 +367,9 @@
          cmdlineP->imageheight = 0;
  
      if (!cmdlineP->psfilter &&
---- netpbm-10.27/converter/other/xwdtopnm.c.security	2005-01-02 19:36:02.000000000 +0100
-+++ netpbm-10.27/converter/other/xwdtopnm.c	2005-05-16 11:12:44.019384800 +0200
-@@ -247,6 +247,9 @@ processX10Header(X10WDFileHeader *  cons
+--- netpbm-10.28/converter/other/xwdtopnm.c.security	2005-05-10 05:44:06.000000000 +0200
++++ netpbm-10.28/converter/other/xwdtopnm.c	2005-06-10 09:44:00.301593224 +0200
+@@ -284,6 +284,9 @@ processX10Header(X10WDFileHeader *  cons
          *colorsP = pnm_allocrow( 2 );
          PNM_ASSIGN1( (*colorsP)[0], 0 );
          PNM_ASSIGN1( (*colorsP)[1], *maxvalP );
@@ -386,7 +379,7 @@
          *padrightP =
              ( ( h10P->pixmap_width + 15 ) / 16 ) * 16 - h10P->pixmap_width;
          *bits_per_itemP = 16;
-@@ -256,9 +259,13 @@ processX10Header(X10WDFileHeader *  cons
+@@ -293,9 +296,13 @@ processX10Header(X10WDFileHeader *  cons
          *formatP = PGM_TYPE;
          *visualclassP = StaticGray;
          *maxvalP = ( 1 << h10P->display_planes ) - 1;
@@ -400,7 +393,7 @@
          *padrightP =
              ( ( h10P->pixmap_width + 15 ) / 16 ) * 16 - h10P->pixmap_width;
          *bits_per_itemP = 16;
-@@ -577,6 +584,7 @@ processX11Header(X11WDFileHeader *  cons
+@@ -614,6 +621,7 @@ processX11Header(X11WDFileHeader *  cons
  
      *colsP = h11FixedP->pixmap_width;
      *rowsP = h11FixedP->pixmap_height;
@@ -408,8 +401,8 @@
      *padrightP =
          h11FixedP->bytes_per_line * 8 / h11FixedP->bits_per_pixel -
          h11FixedP->pixmap_width;
---- netpbm-10.27/converter/other/pnmtoddif.c.security	2002-07-30 19:09:13.000000000 +0200
-+++ netpbm-10.27/converter/other/pnmtoddif.c	2005-05-16 11:12:44.021384496 +0200
+--- netpbm-10.28/converter/other/pnmtoddif.c.security	2002-07-30 19:09:13.000000000 +0200
++++ netpbm-10.28/converter/other/pnmtoddif.c	2005-06-10 09:44:00.303592920 +0200
 @@ -484,6 +484,7 @@ int main(int argc, char *argv[])
      switch (PNM_FORMAT_TYPE(format)) {
      case PBM_TYPE:
@@ -426,8 +419,8 @@
          ip.bytes_per_line = 3 * cols;
          ip.bits_per_pixel = 24;
          ip.spectral = 5;
---- netpbm-10.27/converter/ppm/ppmtomitsu.c.security	2003-07-06 23:04:25.000000000 +0200
-+++ netpbm-10.27/converter/ppm/ppmtomitsu.c	2005-05-16 11:12:44.022384344 +0200
+--- netpbm-10.28/converter/ppm/ppmtomitsu.c.security	2003-07-06 23:04:25.000000000 +0200
++++ netpbm-10.28/converter/ppm/ppmtomitsu.c	2005-06-10 09:44:00.304592768 +0200
 @@ -164,6 +164,8 @@ int main( argc, argv )
          medias = MSize_User;
  
@@ -437,8 +430,8 @@
                  medias.maxcols *= 2;
                  medias.maxrows *= 2;
          }
---- netpbm-10.27/converter/ppm/ppmtompeg/psearch.c.security	2002-10-14 04:22:16.000000000 +0200
-+++ netpbm-10.27/converter/ppm/ppmtompeg/psearch.c	2005-05-16 11:12:44.024384040 +0200
+--- netpbm-10.28/converter/ppm/ppmtompeg/psearch.c.security	2002-10-14 04:22:16.000000000 +0200
++++ netpbm-10.28/converter/ppm/ppmtompeg/psearch.c	2005-06-10 09:44:00.305592616 +0200
 @@ -217,7 +217,14 @@ SetSearchRange(int const pixelsP, int co
          int const max_search = max(searchRangeP, searchRangeB);
  
@@ -485,9 +478,9 @@
      columnTotals = (int *) calloc(2*searchRangeB+3, sizeof(int));
  
  #ifdef COMPLETE_DISPLAY
---- netpbm-10.27/converter/ppm/ppmtompeg/parallel.c.security	2005-05-16 11:12:43.978391032 +0200
-+++ netpbm-10.27/converter/ppm/ppmtompeg/parallel.c	2005-05-16 11:12:44.026383736 +0200
-@@ -2124,7 +2124,9 @@ DecodeServer(int          const numInput
+--- netpbm-10.28/converter/ppm/ppmtompeg/parallel.c.security	2005-05-15 08:12:54.000000000 +0200
++++ netpbm-10.28/converter/ppm/ppmtompeg/parallel.c	2005-06-10 09:44:00.308592160 +0200
+@@ -2115,7 +2115,9 @@ DecodeServer(int          const numInput
      const char * error;
  
      /* should keep list of port numbers to notify when frames become ready */
@@ -498,8 +491,8 @@
      ready = (boolean *) calloc(numInputFiles, sizeof(boolean));
      waitMachine = (int *) calloc(numInputFiles, sizeof(int));
      waitPort = (int *) malloc(numMachines*sizeof(int));
---- netpbm-10.27/converter/ppm/ppmtompeg/jpeg.c.security	2002-10-17 16:49:49.000000000 +0200
-+++ netpbm-10.27/converter/ppm/ppmtompeg/jpeg.c	2005-05-16 11:12:44.027383584 +0200
+--- netpbm-10.28/converter/ppm/ppmtompeg/jpeg.c.security	2002-10-17 16:49:49.000000000 +0200
++++ netpbm-10.28/converter/ppm/ppmtompeg/jpeg.c	2005-06-10 09:44:00.309592008 +0200
 @@ -228,7 +228,7 @@ int end;                /* last frame to
        exit(1);
      }  
@@ -509,8 +502,8 @@
      
    if (fread (&(width),sizeof(int),1,inFile) != 1)
      {
---- netpbm-10.27/converter/ppm/ppmtompeg/rgbtoycc.c.security	2004-11-13 23:13:03.000000000 +0100
-+++ netpbm-10.27/converter/ppm/ppmtompeg/rgbtoycc.c	2005-05-16 11:12:44.027383584 +0200
+--- netpbm-10.28/converter/ppm/ppmtompeg/rgbtoycc.c.security	2004-11-13 23:13:03.000000000 +0100
++++ netpbm-10.28/converter/ppm/ppmtompeg/rgbtoycc.c	2005-06-10 09:44:00.310591856 +0200
 @@ -72,6 +72,8 @@ compute_mult_tables(const pixval maxval)
          } 
          table_maxval = maxval;
@@ -520,8 +513,8 @@
          mult299   = malloc((table_maxval+1)*sizeof(float));
          mult587   = malloc((table_maxval+1)*sizeof(float));
          mult114   = malloc((table_maxval+1)*sizeof(float));
---- netpbm-10.27/converter/ppm/ppmtompeg/frame.c.security	2004-11-27 00:44:01.000000000 +0100
-+++ netpbm-10.27/converter/ppm/ppmtompeg/frame.c	2005-05-16 11:12:44.029383280 +0200
+--- netpbm-10.28/converter/ppm/ppmtompeg/frame.c.security	2004-11-27 00:44:01.000000000 +0100
++++ netpbm-10.28/converter/ppm/ppmtompeg/frame.c	2005-06-10 09:44:00.312591552 +0200
 @@ -137,24 +137,24 @@ int i;
  omfrw->orig_y = NULL;
  Fsize_x = out_x;
@@ -702,8 +695,8 @@
      ERRCHK(frame->decoded_cb[y], "malloc");
      }
  
---- netpbm-10.27/converter/ppm/ppmtompeg/iframe.c.security	2004-11-27 04:58:15.000000000 +0100
-+++ netpbm-10.27/converter/ppm/ppmtompeg/iframe.c	2005-05-16 11:12:44.030383128 +0200
+--- netpbm-10.28/converter/ppm/ppmtompeg/iframe.c.security	2004-11-27 04:58:15.000000000 +0100
++++ netpbm-10.28/converter/ppm/ppmtompeg/iframe.c	2005-06-10 09:44:00.314591248 +0200
 @@ -859,6 +859,7 @@ BlockComputeSNR(current, snr, psnr)
      int ysz = (Fsize_y>>3) * sizeof(int32 *);
      int xsz = (Fsize_x>>3);
@@ -756,8 +749,8 @@
      ERRCHK(dctr[i], "malloc");
      ERRCHK(dctb[i], "malloc");
      }
---- netpbm-10.27/converter/ppm/ppmtowinicon.c.security	2004-05-01 21:00:55.000000000 +0200
-+++ netpbm-10.27/converter/ppm/ppmtowinicon.c	2005-05-16 11:12:44.031382976 +0200
+--- netpbm-10.28/converter/ppm/ppmtowinicon.c.security	2004-05-01 21:00:55.000000000 +0200
++++ netpbm-10.28/converter/ppm/ppmtowinicon.c	2005-06-10 09:44:00.316590944 +0200
 @@ -12,6 +12,7 @@
  
  #include <math.h>
@@ -816,8 +809,8 @@
      MSIconData->entries[MSIconData->count-1] = entry;
  }
  
---- netpbm-10.27/converter/ppm/ppmtolj.c.security	2002-09-06 18:31:57.000000000 +0200
-+++ netpbm-10.27/converter/ppm/ppmtolj.c	2005-05-16 11:12:44.031382976 +0200
+--- netpbm-10.28/converter/ppm/ppmtolj.c.security	2002-09-06 18:31:57.000000000 +0200
++++ netpbm-10.28/converter/ppm/ppmtolj.c	2005-06-10 09:44:00.317590792 +0200
 @@ -182,6 +182,7 @@ int main(int argc, char *argv[]) {
      pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
  
@@ -826,9 +819,9 @@
      obuf = (unsigned char *) pm_allocrow(cols * 3, sizeof(unsigned char));
      cbuf = (unsigned char *) pm_allocrow(cols * 6, sizeof(unsigned char));
      if (mode == C_TRANS_MODE_DELTA)
---- netpbm-10.27/converter/ppm/Makefile.security	2005-03-29 15:56:57.000000000 +0200
-+++ netpbm-10.27/converter/ppm/Makefile	2005-05-16 11:12:44.032382824 +0200
-@@ -11,7 +11,7 @@ SUBDIRS = ppmtompeg
+--- netpbm-10.28/converter/ppm/Makefile.security	2004-10-16 20:55:28.000000000 +0200
++++ netpbm-10.28/converter/ppm/Makefile	2005-06-10 09:44:00.318590640 +0200
+@@ -11,7 +11,7 @@ SUBDIRS = hpcdtoppm ppmtompeg
  
  PORTBINARIES =	411toppm eyuvtoppm gouldtoppm ilbmtoppm imgtoppm \
  		leaftoppm mtvtoppm neotoppm \
@@ -837,8 +830,8 @@
  		ppmtoacad ppmtoarbtxt \
  		ppmtobmp ppmtoeyuv ppmtogif ppmtoicr ppmtoilbm \
  		ppmtoleaf ppmtolj ppmtomitsu ppmtoneo \
---- netpbm-10.27/converter/ppm/ximtoppm.c.security	2004-10-19 17:35:17.000000000 +0200
-+++ netpbm-10.27/converter/ppm/ximtoppm.c	2005-05-16 11:12:44.033382672 +0200
+--- netpbm-10.28/converter/ppm/ximtoppm.c.security	2004-10-19 17:35:17.000000000 +0200
++++ netpbm-10.28/converter/ppm/ximtoppm.c	2005-06-10 09:44:00.319590488 +0200
 @@ -283,6 +283,7 @@ ReadXimHeader(in_fp, header)
      header->bits_channel = atoi(a_head.bits_per_channel);
      header->alpha_flag = atoi(a_head.alpha_channel);
@@ -871,16 +864,16 @@
          header->colors = (Color *)calloc((unsigned int)header->ncolors,
                  sizeof(Color));
          if (header->colors == NULL) {
---- netpbm-10.27/converter/ppm/picttoppm.c.security	2005-02-20 22:36:52.000000000 +0100
-+++ netpbm-10.27/converter/ppm/picttoppm.c	2005-05-16 11:12:44.035382368 +0200
+--- netpbm-10.28/converter/ppm/picttoppm.c.security	2005-05-22 04:06:32.000000000 +0200
++++ netpbm-10.28/converter/ppm/picttoppm.c	2005-06-10 09:44:00.323589880 +0200
 @@ -1,3 +1,5 @@
 +#error "Unfixable. Don't ship me"
 +
  /*
   * picttoppm.c -- convert a MacIntosh PICT file to PPM format.
   *
---- netpbm-10.27/converter/ppm/pjtoppm.c.security	2003-07-06 23:45:36.000000000 +0200
-+++ netpbm-10.27/converter/ppm/pjtoppm.c	2005-05-16 11:12:44.035382368 +0200
+--- netpbm-10.28/converter/ppm/pjtoppm.c.security	2003-07-06 23:45:36.000000000 +0200
++++ netpbm-10.28/converter/ppm/pjtoppm.c	2005-06-10 09:44:00.324589728 +0200
 @@ -127,19 +127,21 @@ main(argc, argv)
                  case 'V':   /* send plane */
                  case 'W':   /* send last plane */
@@ -930,8 +923,8 @@
          cols *= 8;
      }
              
---- netpbm-10.27/converter/ppm/sldtoppm.c.security	2004-02-21 22:55:39.000000000 +0100
-+++ netpbm-10.27/converter/ppm/sldtoppm.c	2005-05-16 11:12:44.036382216 +0200
+--- netpbm-10.28/converter/ppm/sldtoppm.c.security	2004-02-21 22:55:39.000000000 +0100
++++ netpbm-10.28/converter/ppm/sldtoppm.c	2005-06-10 09:44:00.325589576 +0200
 @@ -306,7 +306,9 @@ static void slider(slvec, slflood)
      }
  
@@ -943,8 +936,8 @@
      pixels = ppm_allocarray(pixcols = ixdots + 1, pixrows = iydots + 1);
      PPM_ASSIGN(rgbcolour, 0, 0, 0);
      ppmd_filledrectangle(pixels, pixcols, pixrows, pixmaxval, 0, 0,
---- netpbm-10.27/converter/ppm/ppmtopj.c.security	2002-09-06 18:32:14.000000000 +0200
-+++ netpbm-10.27/converter/ppm/ppmtopj.c	2005-05-16 11:12:44.037382064 +0200
+--- netpbm-10.28/converter/ppm/ppmtopj.c.security	2002-09-06 18:32:14.000000000 +0200
++++ netpbm-10.28/converter/ppm/ppmtopj.c	2005-06-10 09:44:00.326589424 +0200
 @@ -180,6 +180,7 @@ char *argv[];
  	pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
  
@@ -953,8 +946,8 @@
  	obuf = (unsigned char *) pm_allocrow(cols, sizeof(unsigned char));
  	cbuf = (unsigned char *) pm_allocrow(cols * 2, sizeof(unsigned char));
  
---- netpbm-10.27/converter/ppm/ppmtoilbm.c.security	2004-03-20 06:06:39.000000000 +0100
-+++ netpbm-10.27/converter/ppm/ppmtoilbm.c	2005-05-16 11:12:44.039381760 +0200
+--- netpbm-10.28/converter/ppm/ppmtoilbm.c.security	2004-03-20 06:06:39.000000000 +0100
++++ netpbm-10.28/converter/ppm/ppmtoilbm.c	2005-06-10 09:44:00.329588968 +0200
 @@ -810,11 +810,15 @@ main(argc, argv)
  
      if( mode != MODE_CMAP ) {
@@ -988,28 +981,6 @@
      MALLOCARRAY_NOFAIL(compr_row, cols * 2);
  
      if( maxval != 15 ) {
-@@ -2405,6 +2411,21 @@ runbyte1(size)
-     register unsigned char *inbuf = coded_rowbuf;
-     register unsigned char *outbuf = compr_rowbuf;
- 
-+static void *
-+xmalloc2(x,y)
-+    int x;
-+    int y;
-+{
-+    void *mem;
-+    
-+    overflow2(x, y);
-+
-+    mem = malloc2(x, y);
-+    if( mem == NULL )
-+        pm_error("out of memory allocating %d bytes", x * y);
-+    return mem;
-+}
-+
- 
-     in=out=0;
-     while( in<size ) {
 @@ -2475,6 +2496,7 @@ make_val_table(oldmaxval, newmaxval)
      int i;
      int *table;
@@ -1018,9 +989,9 @@
      MALLOCARRAY_NOFAIL(table, oldmaxval + 1);
      for(i = 0; i <= oldmaxval; i++ )
          table[i] = (i * newmaxval + oldmaxval/2) / oldmaxval;
---- netpbm-10.27/converter/ppm/xpmtoppm.c.security	2004-03-13 20:36:36.000000000 +0100
-+++ netpbm-10.27/converter/ppm/xpmtoppm.c	2005-05-16 11:12:44.040381608 +0200
-@@ -685,6 +685,7 @@ ReadXPMFile(FILE * const stream, int * c
+--- netpbm-10.28/converter/ppm/xpmtoppm.c.security	2005-05-27 21:00:18.000000000 +0200
++++ netpbm-10.28/converter/ppm/xpmtoppm.c	2005-06-10 09:44:00.331588664 +0200
+@@ -696,6 +696,7 @@ ReadXPMFile(FILE * const stream, int * c
                         &ncolors, colorsP, &ptab);
          *transparentP = -1;  /* No transparency in version 1 */
      }
@@ -1028,25 +999,17 @@
      totalpixels = *widthP * *heightP;
      MALLOCARRAY(*dataP, totalpixels);
      if (*dataP == NULL)
---- netpbm-10.27/converter/ppm/ilbmtoppm.c.security	2003-08-10 00:30:10.000000000 +0200
-+++ netpbm-10.27/converter/ppm/ilbmtoppm.c	2005-05-16 11:12:44.041381456 +0200
-@@ -580,6 +580,7 @@ decode_row(ifp, chunksizeP, chunkyrow, n
+--- netpbm-10.28/converter/ppm/ilbmtoppm.c.security	2005-05-22 04:04:07.000000000 +0200
++++ netpbm-10.28/converter/ppm/ilbmtoppm.c	2005-06-10 09:54:06.750398992 +0200
+@@ -599,6 +599,7 @@ decode_row(FILE *          const ifP,
      rawtype *chp;
  
-     cols = bmhd->w;
+     cols = bmhdP->w;
 +    overflow_add(cols, 15);
      bytes = RowBytes(cols);
      for( plane = 0; plane < nPlanes; plane++ ) {
          int mask;
-@@ -620,6 +621,7 @@ decode_mask(ifp, chunksizeP, chunkyrow, 
-         case mskNone:
-             break;
-         case mskHasMask:        /* mask plane */
-+            overflow_add(cols, 15);
-             read_ilbm_plane(ifp, chunksizeP, RowBytes(cols), 
-                             bmhd->compression);
-             if( maskfile ) {
-@@ -668,6 +670,23 @@ decode_mask(ifp, chunksizeP, chunkyrow, 
+@@ -686,6 +687,23 @@ decode_mask(FILE *          const ifP,
   Multipalette handling
   ****************************************************************************/
  
@@ -1070,7 +1033,7 @@
  
  static void
  multi_adjust(cmap, row, palchange)
-@@ -1262,6 +1281,9 @@ dcol_to_ppm(ifp, chunksize, bmhd, cmap, 
+@@ -1297,6 +1315,9 @@ dcol_to_ppm(FILE *         const ifP,
      if( redmaxval != maxval || greenmaxval != maxval || bluemaxval != maxval )
          pm_message("scaling colors to %d bits", pm_maxvaltobits(maxval));
      
@@ -1080,7 +1043,7 @@
      MALLOCARRAY_NOFAIL(redtable,   redmaxval   +1);
      MALLOCARRAY_NOFAIL(greentable, greenmaxval +1);
      MALLOCARRAY_NOFAIL(bluetable,  bluemaxval  +1);
-@@ -1674,7 +1696,9 @@ PCHG_ConvertSmall(PCHG, cmap, mask, data
+@@ -1731,7 +1752,9 @@ PCHG_ConvertSmall(PCHG, cmap, mask, data
              ChangeCount32 = *data++;
              datasize -= 2;
  
@@ -1090,7 +1053,7 @@
              for( i = 0; i < changes; i++ ) {
                  if( totalchanges >= PCHG->TotalChanges ) goto fail;
                  if( datasize < 2 ) goto fail;
-@@ -1801,6 +1825,7 @@ PCHG_ConvertBig(PCHG, cmap, mask, datasi
+@@ -1858,6 +1881,7 @@ PCHG_ConvertBig(PCHG, cmap, mask, datasi
              if( datasize < 2 ) goto fail;
              changes = BIG_WORD(data); data += 2; datasize -= 2;
  
@@ -1098,26 +1061,26 @@
              MALLOCARRAY_NOFAIL(cmap->mp_change[row], changes + 1);
              for( i = 0; i < changes; i++ ) {
                  if( totalchanges >= PCHG->TotalChanges ) goto fail;
-@@ -1913,6 +1938,9 @@ read_pchg(ifp, iffid, chunksize, cmap)
-         cmap->mp_change[i] = NULL;
-     if( PCHG.StartLine < 0 ) {
-         int nch;
-+        if(PCHG.MaxReg < PCHG.MinReg)
-+        	pm_error("assert: MinReg > MaxReg");
-+        overflow_add(PCHG.MaxReg-PCHG.MinReg, 2);
-         nch = PCHG.MaxReg - PCHG.MinReg +1;
-         MALLOCARRAY_NOFAIL(cmap->mp_init, nch + 1);
-         for( i = 0; i < nch; i++ )
-@@ -1990,6 +2018,7 @@ process_body( FILE *          const ifp,
+@@ -1977,6 +2001,9 @@ read_pchg(FILE *     const ifp,
+             cmap->mp_change[i] = NULL;
+         if( PCHG.StartLine < 0 ) {
+             int nch;
++            if(PCHG.MaxReg < PCHG.MinReg)
++                pm_error("assert: MinReg > MaxReg");
++            overflow_add(PCHG.MaxReg-PCHG.MinReg, 2);
+             nch = PCHG.MaxReg - PCHG.MinReg +1;
+             MALLOCARRAY_NOFAIL(cmap->mp_init, nch + 1);
+             for( i = 0; i < nch; i++ )
+@@ -2056,6 +2083,7 @@ process_body( FILE *          const ifp,
      if( typeid == ID_ILBM ) {
          int isdeep;
  
-+        overflow_add(bmhd->w, 15);
-         MALLOCARRAY_NOFAIL(ilbmrow, RowBytes(bmhd->w));
++        overflow_add(bmhdP->w, 15);
+         MALLOCARRAY_NOFAIL(ilbmrow, RowBytes(bmhdP->w));
          *viewportmodesP |= fakeviewport;      /* -isham/-isehb */
  
---- netpbm-10.27/converter/ppm/ppmtoeyuv.c.security	2003-07-07 00:22:35.000000000 +0200
-+++ netpbm-10.27/converter/ppm/ppmtoeyuv.c	2005-05-16 11:12:44.042381304 +0200
+--- netpbm-10.28/converter/ppm/ppmtoeyuv.c.security	2003-07-07 00:22:35.000000000 +0200
++++ netpbm-10.28/converter/ppm/ppmtoeyuv.c	2005-06-10 09:44:00.338587600 +0200
 @@ -113,6 +113,7 @@ create_multiplication_tables(const pixva
  
      int index;
@@ -1126,8 +1089,8 @@
      MALLOCARRAY_NOFAIL(mult299   , maxval+1);
      MALLOCARRAY_NOFAIL(mult587   , maxval+1);
      MALLOCARRAY_NOFAIL(mult114   , maxval+1);
---- netpbm-10.27/converter/ppm/ppmtoicr.c.security	2003-02-22 23:05:03.000000000 +0100
-+++ netpbm-10.27/converter/ppm/ppmtoicr.c	2005-05-16 11:12:44.043381152 +0200
+--- netpbm-10.28/converter/ppm/ppmtoicr.c.security	2003-02-22 23:05:03.000000000 +0100
++++ netpbm-10.28/converter/ppm/ppmtoicr.c	2005-06-10 09:44:00.339587448 +0200
 @@ -169,7 +169,7 @@ char* argv[];
  
  	if (rleflag) {	
@@ -1137,8 +1100,8 @@
  		p = testimage;
  		for (i=0; i<rows; i++)
  			for (j=0; j<cols; j++) 
---- netpbm-10.27/converter/ppm/imgtoppm.c.security	2002-09-06 18:30:03.000000000 +0200
-+++ netpbm-10.27/converter/ppm/imgtoppm.c	2005-05-16 11:12:44.044381000 +0200
+--- netpbm-10.28/converter/ppm/imgtoppm.c.security	2002-09-06 18:30:03.000000000 +0200
++++ netpbm-10.28/converter/ppm/imgtoppm.c	2005-06-10 09:44:00.340587296 +0200
 @@ -84,6 +84,7 @@ main(int argc, char ** argv) {
              len = atoi((char*) buf );
              if ( fread( buf, len, 1, ifp ) != 1 )
@@ -1155,8 +1118,8 @@
              if ( len != cols * rows )
                  pm_message(
                      "pixel data length (%d) does not match image size (%d)",
---- netpbm-10.27/converter/ppm/pcxtoppm.c.security	2004-04-19 23:30:42.000000000 +0200
-+++ netpbm-10.27/converter/ppm/pcxtoppm.c	2005-05-16 11:12:44.045380848 +0200
+--- netpbm-10.28/converter/ppm/pcxtoppm.c.security	2004-04-19 23:30:42.000000000 +0200
++++ netpbm-10.28/converter/ppm/pcxtoppm.c	2005-06-10 09:44:00.341587144 +0200
 @@ -376,6 +376,7 @@ pcx_16col_to_ppm(ifp, cols, rows, BytesP
      }
  
@@ -1182,8 +1145,8 @@
      npixels = (bytesperline * 8) / bitsperpixel;
      p    = pixels;
      while (--npixels >= 0)
---- netpbm-10.27/converter/ppm/ppmtopjxl.c.security	2003-02-22 23:04:36.000000000 +0100
-+++ netpbm-10.27/converter/ppm/ppmtopjxl.c	2005-05-16 11:12:44.045380848 +0200
+--- netpbm-10.28/converter/ppm/ppmtopjxl.c.security	2003-02-22 23:04:36.000000000 +0100
++++ netpbm-10.28/converter/ppm/ppmtopjxl.c	2005-06-10 09:44:00.342586992 +0200
 @@ -273,6 +273,8 @@ main(argc, argv)
        pm_error("image too large; reduce with ppmscale");
     if (maxval > PCL_MAXVAL)
@@ -1216,8 +1179,8 @@
     if ((inrow = (char *)malloc((unsigned)bpp)) == NULL ||
         (outrow = (char *)malloc((unsigned)bpp*2)) == NULL ||
         (runcnt = (signed char *)malloc((unsigned)bpp)) == NULL)
---- netpbm-10.27/converter/ppm/ppmtopict.c.security	2003-02-22 23:04:40.000000000 +0100
-+++ netpbm-10.27/converter/ppm/ppmtopict.c	2005-05-16 11:12:44.046380696 +0200
+--- netpbm-10.28/converter/ppm/ppmtopict.c.security	2003-02-22 23:04:40.000000000 +0100
++++ netpbm-10.28/converter/ppm/ppmtopict.c	2005-06-10 09:44:00.344586688 +0200
 @@ -245,6 +245,8 @@ char *argv[];
  	putShort(stdout, 0);			/* mode */
  
@@ -1227,8 +1190,8 @@
  	packed = (char*) malloc((unsigned)(cols+cols/MAX_COUNT+1));
  	oc = 0;
  	for (row = 0; row < rows; row++)
---- netpbm-10.27/converter/ppm/qrttoppm.c.security	1993-10-04 10:12:56.000000000 +0100
-+++ netpbm-10.27/converter/ppm/qrttoppm.c	2005-05-16 11:12:44.047380544 +0200
+--- netpbm-10.28/converter/ppm/qrttoppm.c.security	1993-10-04 10:12:56.000000000 +0100
++++ netpbm-10.28/converter/ppm/qrttoppm.c	2005-06-10 09:44:00.345586536 +0200
 @@ -46,7 +46,7 @@ main( argc, argv )
  
      ppm_writeppminit( stdout, cols, rows, maxval, 0 );
@@ -1238,9 +1201,9 @@
      if ( buf == (unsigned char *) 0 )
  	pm_error( "out of memory" );
  
---- netpbm-10.27/converter/ppm/ppmtoxpm.c.security	2005-03-17 20:19:45.000000000 +0100
-+++ netpbm-10.27/converter/ppm/ppmtoxpm.c	2005-05-16 11:12:44.048380392 +0200
-@@ -193,6 +193,7 @@ genNumstr(unsigned int const input, int 
+--- netpbm-10.28/converter/ppm/ppmtoxpm.c.security	2005-04-23 21:34:15.000000000 +0200
++++ netpbm-10.28/converter/ppm/ppmtoxpm.c	2005-06-10 09:44:00.346586384 +0200
+@@ -195,6 +195,7 @@ genNumstr(unsigned int const input, int 
      unsigned int i;
  
      /* Allocate memory for printed number.  Abort if error. */
@@ -1248,7 +1211,7 @@
      if (!(str = (char *) malloc(digits + 1)))
          pm_error("out of memory");
  
-@@ -306,6 +307,7 @@ genCmap(colorhist_vector const chv, 
+@@ -307,6 +308,7 @@ genCmap(colorhist_vector const chv, 
      unsigned int charsPerPixel;
      unsigned int xppMaxval;
      
@@ -1256,8 +1219,8 @@
      MALLOCARRAY(cmap, cmapSize);
      if (cmapP == NULL)
          pm_error("Out of memory allocating %u bytes for a color map.",
---- netpbm-10.27/converter/ppm/yuvtoppm.c.security	2003-07-06 22:32:09.000000000 +0200
-+++ netpbm-10.27/converter/ppm/yuvtoppm.c	2005-05-16 11:12:44.048380392 +0200
+--- netpbm-10.28/converter/ppm/yuvtoppm.c.security	2003-07-06 22:32:09.000000000 +0200
++++ netpbm-10.28/converter/ppm/yuvtoppm.c	2005-06-10 09:44:00.347586232 +0200
 @@ -72,6 +72,7 @@ main(argc, argv)
  
  	ppm_writeppminit(stdout, cols, rows, (pixval) 255, 0);
@@ -1266,8 +1229,8 @@
      MALLOCARRAY(yuvbuf, (cols+1)/2);
      if (yuvbuf == NULL)
          pm_error("Unable to allocate YUV buffer for %d columns.", cols);
---- netpbm-10.27/converter/ppm/ppmtopcx.c.security	2004-08-31 05:21:55.000000000 +0200
-+++ netpbm-10.27/converter/ppm/ppmtopcx.c	2005-05-16 11:12:44.049380240 +0200
+--- netpbm-10.28/converter/ppm/ppmtopcx.c.security	2004-08-31 05:21:55.000000000 +0200
++++ netpbm-10.28/converter/ppm/ppmtopcx.c	2005-06-10 09:44:00.348586080 +0200
 @@ -418,6 +418,8 @@ ppmTo16ColorPcx(pixel **            cons
              else                   Planes = 1;
          }
@@ -1277,8 +1240,8 @@
      BytesPerLine = ((cols * BitsPerPixel) + 7) / 8;
      MALLOCARRAY_NOFAIL(indexRow, cols);
      MALLOCARRAY_NOFAIL(planesrow, BytesPerLine);
---- netpbm-10.27/converter/pgm/psidtopgm.c.security	2002-07-30 17:57:36.000000000 +0200
-+++ netpbm-10.27/converter/pgm/psidtopgm.c	2005-05-16 11:12:44.050380088 +0200
+--- netpbm-10.28/converter/pgm/psidtopgm.c.security	2002-07-30 17:57:36.000000000 +0200
++++ netpbm-10.28/converter/pgm/psidtopgm.c	2005-06-10 09:44:00.349585928 +0200
 @@ -60,6 +60,7 @@ char* argv[];
  	    "bits/sample (%d) is too large.", bitspersample );
  
@@ -1287,8 +1250,8 @@
      grayrow = pgm_allocrow( ( cols + 7 ) / 8 * 8 );
      for ( row = 0; row < rows; ++row)
  	{
---- netpbm-10.27/converter/pgm/lispmtopgm.c.security	2002-09-06 18:27:00.000000000 +0200
-+++ netpbm-10.27/converter/pgm/lispmtopgm.c	2005-05-16 11:12:44.051379936 +0200
+--- netpbm-10.28/converter/pgm/lispmtopgm.c.security	2002-09-06 18:27:00.000000000 +0200
++++ netpbm-10.28/converter/pgm/lispmtopgm.c	2005-06-10 09:44:00.350585776 +0200
 @@ -57,6 +57,7 @@ main( argc, argv )
          pm_error( "depth (%d bits) is too large", depth);
  
@@ -1308,8 +1271,8 @@
      *padrightP = ( ( *colsP + 31 ) / 32 ) * 32 - *colsP;
      
      if ( *colsP != (cols_32 - *padrightP) ) {
---- netpbm-10.27/converter/pbm/pbmtozinc.c.security	2002-07-30 17:47:45.000000000 +0200
-+++ netpbm-10.27/converter/pbm/pbmtozinc.c	2005-05-16 11:12:44.051379936 +0200
+--- netpbm-10.28/converter/pbm/pbmtozinc.c.security	2002-07-30 17:47:45.000000000 +0200
++++ netpbm-10.28/converter/pbm/pbmtozinc.c	2005-06-10 09:44:00.351585624 +0200
 @@ -66,6 +66,7 @@ main( argc, argv )
      bitrow = pbm_allocrow( cols );
  
@@ -1318,8 +1281,8 @@
      padright = ( ( cols + 15 ) / 16 ) * 16 - cols;
  
      printf( "USHORT %s[] = {\n",name);
---- netpbm-10.27/converter/pbm/pbmtomgr.c.security	1993-10-04 10:10:50.000000000 +0100
-+++ netpbm-10.27/converter/pbm/pbmtomgr.c	2005-05-16 11:12:44.052379784 +0200
+--- netpbm-10.28/converter/pbm/pbmtomgr.c.security	1993-10-04 10:10:50.000000000 +0100
++++ netpbm-10.28/converter/pbm/pbmtomgr.c	2005-06-10 09:44:00.352585472 +0200
 @@ -43,6 +43,7 @@ main( argc, argv )
      bitrow = pbm_allocrow( cols );
      
@@ -1328,8 +1291,8 @@
      padright = ( ( cols + 7 ) / 8 ) * 8 - cols;
  
      putinit( rows, cols );
---- netpbm-10.27/converter/pbm/pbmto10x.c.security	2004-03-20 05:23:36.000000000 +0100
-+++ netpbm-10.27/converter/pbm/pbmto10x.c	2005-05-16 11:12:44.052379784 +0200
+--- netpbm-10.28/converter/pbm/pbmto10x.c.security	2004-03-20 05:23:36.000000000 +0100
++++ netpbm-10.28/converter/pbm/pbmto10x.c	2005-06-10 09:44:00.353585320 +0200
 @@ -162,7 +162,7 @@ main(int argc, char * argv[]) {
          res_60x72();
  
@@ -1339,8 +1302,8 @@
  }
  
  
---- netpbm-10.27/converter/pbm/pbmto4425.c.security	2002-09-06 18:03:50.000000000 +0200
-+++ netpbm-10.27/converter/pbm/pbmto4425.c	2005-05-16 11:12:44.053379632 +0200
+--- netpbm-10.28/converter/pbm/pbmto4425.c.security	2002-09-06 18:03:50.000000000 +0200
++++ netpbm-10.28/converter/pbm/pbmto4425.c	2005-06-10 09:44:00.354585168 +0200
 @@ -1,6 +1,7 @@
  #include <string.h>
  
@@ -1358,8 +1321,8 @@
    if(vmap == NULL)
  	{
  	  pm_error( "Cannot allocate memory" );
---- netpbm-10.27/converter/pbm/pbmtocmuwm.c.security	1993-10-04 10:10:46.000000000 +0100
-+++ netpbm-10.27/converter/pbm/pbmtocmuwm.c	2005-05-16 11:12:44.054379480 +0200
+--- netpbm-10.28/converter/pbm/pbmtocmuwm.c.security	1993-10-04 10:10:46.000000000 +0100
++++ netpbm-10.28/converter/pbm/pbmtocmuwm.c	2005-06-10 09:44:00.355585016 +0200
 @@ -43,6 +43,7 @@ main( argc, argv )
      bitrow = pbm_allocrow( cols );
      
@@ -1368,8 +1331,8 @@
      padright = ( ( cols + 7 ) / 8 ) * 8 - cols;
  
      putinit( rows, cols );
---- netpbm-10.27/converter/pbm/pbmtogo.c.security	2002-07-30 17:47:49.000000000 +0200
-+++ netpbm-10.27/converter/pbm/pbmtogo.c	2005-05-16 11:12:44.055379328 +0200
+--- netpbm-10.28/converter/pbm/pbmtogo.c.security	2002-07-30 17:47:49.000000000 +0200
++++ netpbm-10.28/converter/pbm/pbmtogo.c	2005-06-10 09:44:00.356584864 +0200
 @@ -90,6 +90,7 @@ main( argc, argv )
      bitrow = pbm_allocrow(cols);
  
@@ -1378,8 +1341,8 @@
      rucols = ( cols + 7 ) / 8;
      bytesperrow = rucols;       /* GraphOn uses bytes */
      rucols = rucols * 8;
---- netpbm-10.27/converter/pbm/pbmtoxbm.c.security	2004-03-13 20:37:59.000000000 +0100
-+++ netpbm-10.27/converter/pbm/pbmtoxbm.c	2005-05-16 11:12:44.055379328 +0200
+--- netpbm-10.28/converter/pbm/pbmtoxbm.c.security	2004-03-13 20:37:59.000000000 +0100
++++ netpbm-10.28/converter/pbm/pbmtoxbm.c	2005-06-10 09:44:00.357584712 +0200
 @@ -100,6 +100,7 @@ main(int argc, char * argv[]) {
      bitrow = pbm_allocrow(cols);
      
@@ -1388,8 +1351,8 @@
      padright = ((cols + 7)/8) * 8 - cols;
  
      printf("#define %s_width %d\n", name, cols);
---- netpbm-10.27/converter/pbm/pbmtox10bm.c.security	2002-07-30 17:47:46.000000000 +0200
-+++ netpbm-10.27/converter/pbm/pbmtox10bm.c	2005-05-16 11:12:44.056379176 +0200
+--- netpbm-10.28/converter/pbm/pbmtox10bm.c.security	2002-07-30 17:47:46.000000000 +0200
++++ netpbm-10.28/converter/pbm/pbmtox10bm.c	2005-06-10 09:44:00.358584560 +0200
 @@ -57,6 +57,7 @@ main( argc, argv )
      bitrow = pbm_allocrow( cols );
  
@@ -1398,8 +1361,8 @@
      padright = ( ( cols + 15 ) / 16 ) * 16 - cols;
  
      printf( "#define %s_width %d\n", name, cols );
---- netpbm-10.27/converter/pbm/mdatopbm.c.security	2004-03-20 05:09:15.000000000 +0100
-+++ netpbm-10.27/converter/pbm/mdatopbm.c	2005-05-16 11:12:44.057379024 +0200
+--- netpbm-10.28/converter/pbm/mdatopbm.c.security	2004-03-20 05:09:15.000000000 +0100
++++ netpbm-10.28/converter/pbm/mdatopbm.c	2005-06-10 09:44:00.360584256 +0200
 @@ -245,10 +245,13 @@ main(int argc, char **argv) {
          pm_readlittleshort(infile, &yy); nInCols = yy;
      }
@@ -1415,8 +1378,8 @@
  
      data = pbm_allocarray(nOutCols, nOutRows);
      
---- netpbm-10.27/converter/pbm/thinkjettopbm.l.security	2005-01-02 23:39:18.000000000 +0100
-+++ netpbm-10.27/converter/pbm/thinkjettopbm.l	2005-05-16 11:12:44.058378872 +0200
+--- netpbm-10.28/converter/pbm/thinkjettopbm.l.security	2005-01-02 23:39:18.000000000 +0100
++++ netpbm-10.28/converter/pbm/thinkjettopbm.l	2005-06-10 09:44:00.361584104 +0200
 @@ -94,7 +94,9 @@ DIG             [0-9]
  <RASTERMODE>\033\*b{DIG}+W  {
                              int l;
@@ -1436,8 +1399,8 @@
      pbm_writepbminit(stdout, maxRowLength*8, rowCount, 0);
  
      packed_bitrow = malloc(maxRowLength);
---- netpbm-10.27/converter/pbm/pbmtoppa/pbm.c.security	2000-06-01 19:20:30.000000000 +0200
-+++ netpbm-10.27/converter/pbm/pbmtoppa/pbm.c	2005-05-16 11:12:44.058378872 +0200
+--- netpbm-10.28/converter/pbm/pbmtoppa/pbm.c.security	2000-06-01 19:20:30.000000000 +0200
++++ netpbm-10.28/converter/pbm/pbmtoppa/pbm.c	2005-06-10 09:44:00.362583952 +0200
 @@ -105,6 +105,7 @@ int pbm_readline(pbm_stat* pbm,unsigned 
      return 0;
  
@@ -1456,18 +1419,18 @@
    memcpy (pbm->revdata, data, (pbm->width+7)/8);
    pbm->current_line--;
  }
---- netpbm-10.27/converter/pbm/pbmtoppa/pbmtoppa.c.security	2002-07-30 17:48:16.000000000 +0200
-+++ netpbm-10.27/converter/pbm/pbmtoppa/pbmtoppa.c	2005-05-16 11:12:44.059378720 +0200
-@@ -471,6 +471,7 @@ main (int argc, char *argv[])
-     }
-   }
- 
-+  overflow_add(Width, 7);
-   Pwidth=(Width+7)/8;
-   printer.fptr=out;
+--- netpbm-10.28/converter/pbm/pbmtoppa/pbmtoppa.c.security	2005-04-30 18:45:07.000000000 +0200
++++ netpbm-10.28/converter/pbm/pbmtoppa/pbmtoppa.c	2005-06-10 09:50:39.378924248 +0200
+@@ -441,6 +441,7 @@ main(int argc, char *argv[]) {
+             pm_error("main(): unrecognized parameter '%s'", argv[argn]);
+     }
+ 
++    overflow_add(Width, 7);
+     Pwidth=(Width+7)/8;
+     printer.fptr=out;
  
---- netpbm-10.27/converter/pbm/pktopbm.c.security	2004-03-20 05:52:21.000000000 +0100
-+++ netpbm-10.27/converter/pbm/pktopbm.c	2005-05-16 11:12:44.059378720 +0200
+--- netpbm-10.28/converter/pbm/pktopbm.c.security	2004-03-20 05:52:21.000000000 +0100
++++ netpbm-10.28/converter/pbm/pktopbm.c	2005-06-10 09:44:00.363583800 +0200
 @@ -274,6 +274,7 @@ main(int argc, char *argv[]) {
          if (flagbyte == 7) {            /* long form preamble */
              integer packetlength = get32() ;    /* character packet length */
@@ -1476,11 +1439,11 @@
              endofpacket = packetlength + pktopbm_pkloc;
                  /* calculate end of packet */
              if ((car >= MAXPKCHAR) || !filename[car]) {
---- netpbm-10.27/converter/pbm/pbmtolj.c.security	2004-03-20 05:43:25.000000000 +0100
-+++ netpbm-10.27/converter/pbm/pbmtolj.c	2005-05-16 11:12:44.060378568 +0200
-@@ -123,7 +124,11 @@ main( argc, argv )
-     pbm_readpbminit( ifp, &cols, &rows, &format );
-     bitrow = pbm_allocrow( cols );
+--- netpbm-10.28/converter/pbm/pbmtolj.c.security	2005-04-23 22:24:05.000000000 +0200
++++ netpbm-10.28/converter/pbm/pbmtolj.c	2005-06-10 09:44:00.364583648 +0200
+@@ -119,7 +120,11 @@ parseCommandLine(int argc, char ** argv,
+ static void
+ allocateBuffers(unsigned int const cols) {
  
 +    overflow_add(cols, 8);
      rowBufferSize = (cols + 7) / 8;
@@ -1490,8 +1453,8 @@
      packBufferSize = rowBufferSize + (rowBufferSize + 127) / 128 + 1;
      deltaBufferSize = rowBufferSize + rowBufferSize / 8 + 10;
  
---- netpbm-10.27/converter/pbm/pbmtoybm.c.security	1993-10-04 10:10:43.000000000 +0100
-+++ netpbm-10.27/converter/pbm/pbmtoybm.c	2005-05-16 11:12:44.061378416 +0200
+--- netpbm-10.28/converter/pbm/pbmtoybm.c.security	1993-10-04 10:10:43.000000000 +0100
++++ netpbm-10.28/converter/pbm/pbmtoybm.c	2005-06-10 09:44:00.365583496 +0200
 @@ -45,6 +45,7 @@ main( argc, argv )
      bitrow = pbm_allocrow( cols );
      
@@ -1500,8 +1463,8 @@
      padright = ( ( cols + 15 ) / 16 ) * 16 - cols;
  
      putinit( cols, rows );
---- netpbm-10.27/converter/pbm/icontopbm.c.security	2003-01-08 20:19:42.000000000 +0100
-+++ netpbm-10.27/converter/pbm/icontopbm.c	2005-05-16 11:12:44.061378416 +0200
+--- netpbm-10.28/converter/pbm/icontopbm.c.security	2003-01-08 20:19:42.000000000 +0100
++++ netpbm-10.28/converter/pbm/icontopbm.c	2005-06-10 09:44:00.366583344 +0200
 @@ -12,6 +12,8 @@
  
  #include <string.h>
@@ -1523,8 +1486,8 @@
      data_length = BitmapSize( *widthP, *heightP );
      *dataP = (short unsigned int *) malloc( data_length );
      if ( *dataP == NULL )
---- netpbm-10.27/converter/pbm/mgrtopbm.c.security	2005-02-20 20:58:25.000000000 +0100
-+++ netpbm-10.27/converter/pbm/mgrtopbm.c	2005-05-16 11:12:44.062378264 +0200
+--- netpbm-10.28/converter/pbm/mgrtopbm.c.security	2005-02-20 20:58:25.000000000 +0100
++++ netpbm-10.28/converter/pbm/mgrtopbm.c	2005-06-10 09:44:00.367583192 +0200
 @@ -68,6 +68,8 @@ getinit(FILE * const file, 
      if (head.h_high < ' ' || head.l_high < ' ')
          pm_error("Invalid width field in MGR header");
@@ -1534,8 +1497,8 @@
      *colsP = (((int)head.h_wide - ' ') << 6) + ((int)head.l_wide - ' ');
      *rowsP = (((int)head.h_high - ' ') << 6) + ((int) head.l_high - ' ');
      *padrightP = ( ( *colsP + pad - 1 ) / pad ) * pad - *colsP;
---- netpbm-10.27/converter/pbm/pbmtoascii.c.security	2002-07-30 17:42:53.000000000 +0200
-+++ netpbm-10.27/converter/pbm/pbmtoascii.c	2005-05-16 11:12:44.063378112 +0200
+--- netpbm-10.28/converter/pbm/pbmtoascii.c.security	2002-07-30 17:42:53.000000000 +0200
++++ netpbm-10.28/converter/pbm/pbmtoascii.c	2005-06-10 09:44:00.368583040 +0200
 @@ -115,9 +115,11 @@ char* argv[];
          pm_usage( usage );
  
@@ -1548,8 +1511,8 @@
      line = (char*) pm_allocrow( ccols + 1, sizeof(char) );
  
      for ( row = 0; row < rows; row += gridy )
---- netpbm-10.27/converter/pbm/pbmtogem.c.security	2000-06-09 09:07:05.000000000 +0200
-+++ netpbm-10.27/converter/pbm/pbmtogem.c	2005-05-16 11:12:44.064377960 +0200
+--- netpbm-10.28/converter/pbm/pbmtogem.c.security	2000-06-09 09:07:05.000000000 +0200
++++ netpbm-10.28/converter/pbm/pbmtogem.c	2005-06-10 09:44:00.369582888 +0200
 @@ -123,6 +123,7 @@ putinit (rows, cols)
    bitsperitem = 0;
    bitshift = 7;
@@ -1558,8 +1521,8 @@
    outmax = (cols + 7) / 8;
    outrow = (unsigned char *) pm_allocrow (outmax, sizeof (unsigned char));
    lastrow = (unsigned char *) pm_allocrow (outmax, sizeof (unsigned char));
---- netpbm-10.27/converter/pbm/pbmtomda.c.security	2004-01-11 22:11:22.000000000 +0100
-+++ netpbm-10.27/converter/pbm/pbmtomda.c	2005-05-16 11:12:44.064377960 +0200
+--- netpbm-10.28/converter/pbm/pbmtomda.c.security	2004-01-11 22:11:22.000000000 +0100
++++ netpbm-10.28/converter/pbm/pbmtomda.c	2005-06-10 09:44:00.370582736 +0200
 @@ -179,6 +179,7 @@ int main(int argc, char **argv)
      
      nOutRowsUnrounded = bScale ? nInRows/2 : nInRows;
@@ -1568,8 +1531,8 @@
      nOutRows = ((nOutRowsUnrounded + 3) / 4) * 4;
          /* MDA wants rows a multiple of 4 */   
      nOutCols = nInCols / 8;
---- netpbm-10.27/converter/pbm/pbmtomacp.c.security	2002-09-06 18:04:22.000000000 +0200
-+++ netpbm-10.27/converter/pbm/pbmtomacp.c	2005-05-16 11:12:44.065377808 +0200
+--- netpbm-10.28/converter/pbm/pbmtomacp.c.security	2002-09-06 18:04:22.000000000 +0200
++++ netpbm-10.28/converter/pbm/pbmtomacp.c	2005-06-10 09:44:00.371582584 +0200
 @@ -104,6 +104,7 @@ char *argv[];
    if( !lflg )
      left = 0;
@@ -1587,8 +1550,8 @@
    if( bflg )
    { if( bottom - top >= MAX_LINES )
        bottom = top + MAX_LINES - 1;
---- netpbm-10.27/converter/pbm/ybmtopbm.c.security	1993-10-04 10:10:35.000000000 +0100
-+++ netpbm-10.27/converter/pbm/ybmtopbm.c	2005-05-16 11:12:44.066377656 +0200
+--- netpbm-10.28/converter/pbm/ybmtopbm.c.security	1993-10-04 10:10:35.000000000 +0100
++++ netpbm-10.28/converter/pbm/ybmtopbm.c	2005-06-10 09:44:00.372582432 +0200
 @@ -88,6 +88,7 @@ getinit( file, colsP, rowsP, depthP, pad
  	pm_error( "EOF / read error" );
  
@@ -1597,8 +1560,8 @@
      *padrightP = ( ( *colsP + 15 ) / 16 ) * 16 - *colsP;
      bitsperitem = 0;
      }
---- netpbm-10.27/converter/pbm/pbmtoicon.c.security	2002-07-30 17:47:48.000000000 +0200
-+++ netpbm-10.27/converter/pbm/pbmtoicon.c	2005-05-16 11:12:44.066377656 +0200
+--- netpbm-10.28/converter/pbm/pbmtoicon.c.security	2002-07-30 17:47:48.000000000 +0200
++++ netpbm-10.28/converter/pbm/pbmtoicon.c	2005-06-10 09:44:00.373582280 +0200
 @@ -42,6 +42,7 @@ main( argc, argv )
      bitrow = pbm_allocrow( cols );
      
@@ -1607,8 +1570,8 @@
      pad = ( ( cols + 15 ) / 16 ) * 16 - cols;
      padleft = pad / 2;
      padright = pad - padleft;
---- netpbm-10.27/other/pnmcolormap.c.security	2004-08-11 01:37:03.000000000 +0200
-+++ netpbm-10.27/other/pnmcolormap.c	2005-05-16 11:12:44.067377504 +0200
+--- netpbm-10.28/other/pnmcolormap.c.security	2005-04-10 18:19:43.000000000 +0200
++++ netpbm-10.28/other/pnmcolormap.c	2005-06-10 09:44:00.384580608 +0200
 @@ -788,6 +788,7 @@ colormapToSquare(struct pam * const pamP
              pamP->width = intsqrt;
          else 
@@ -1617,8 +1580,8 @@
      }
      {
          unsigned int const intQuotient = colormapSize / pamP->width;
---- netpbm-10.27/doc/COPYRIGHT.PATENT.security	2004-05-01 01:54:22.000000000 +0200
-+++ netpbm-10.27/doc/COPYRIGHT.PATENT	2005-05-16 11:12:44.068377352 +0200
+--- netpbm-10.28/doc/COPYRIGHT.PATENT.security	2004-05-01 01:54:22.000000000 +0200
++++ netpbm-10.28/doc/COPYRIGHT.PATENT	2005-06-10 09:44:00.385580456 +0200
 @@ -33,6 +33,11 @@ no warranties regarding any of the code 
  all the above to be modified by "to the best of the Netpbm
  maintainer's knowledge."
@@ -1631,8 +1594,8 @@
  
  
  PATENTS
---- netpbm-10.27/editor/pnmcrop.c.security	2002-07-30 19:47:37.000000000 +0200
-+++ netpbm-10.27/editor/pnmcrop.c	2005-05-16 11:12:44.068377352 +0200
+--- netpbm-10.28/editor/pnmcrop.c.security	2002-07-30 19:47:37.000000000 +0200
++++ netpbm-10.28/editor/pnmcrop.c	2005-06-10 09:44:00.386580304 +0200
 @@ -379,6 +379,8 @@ main(int argc, char *argv[]) {
  
          xelrow = pnm_allocrow(cols);
@@ -1642,8 +1605,8 @@
          newcols = right - left + 1;
          newrows = bottom - top + 1;
          pnm_writepnminit(stdout, newcols, newrows, maxval, format, 0);
---- netpbm-10.27/editor/pnmcut.c.security	2002-07-30 19:47:37.000000000 +0200
-+++ netpbm-10.27/editor/pnmcut.c	2005-05-16 11:12:44.069377200 +0200
+--- netpbm-10.28/editor/pnmcut.c.security	2002-07-30 19:47:37.000000000 +0200
++++ netpbm-10.28/editor/pnmcut.c	2005-06-10 09:44:00.387580152 +0200
 @@ -373,6 +373,7 @@ main(int argc, char *argv[]) {
                     toprow, leftcol, bottomrow, rightcol);
      }
@@ -1652,8 +1615,8 @@
      output_cols = rightcol-leftcol+1;
      output_row = pnm_allocrow(output_cols);
      
---- netpbm-10.27/editor/pnmpaste.c.security	2002-07-30 19:47:35.000000000 +0200
-+++ netpbm-10.27/editor/pnmpaste.c	2005-05-16 11:12:44.070377048 +0200
+--- netpbm-10.28/editor/pnmpaste.c.security	2002-07-30 19:47:35.000000000 +0200
++++ netpbm-10.28/editor/pnmpaste.c	2005-06-10 09:44:00.388580000 +0200
 @@ -100,11 +100,16 @@ main( argc, argv )
  	    "y is too large -- the second anymap has only %d rows",
  	    rows2 );
@@ -1671,8 +1634,8 @@
      if ( x + cols1 > cols2 )
  	pm_error( "x + width is too large by %d pixels", x + cols1 - cols2 );
      if ( y + rows1 > rows2 )
---- netpbm-10.27/editor/pbmlife.c.security	1993-10-04 10:10:37.000000000 +0100
-+++ netpbm-10.27/editor/pbmlife.c	2005-05-16 11:12:44.071376896 +0200
+--- netpbm-10.28/editor/pbmlife.c.security	1993-10-04 10:10:37.000000000 +0100
++++ netpbm-10.28/editor/pbmlife.c	2005-06-10 09:44:00.388580000 +0200
 @@ -54,7 +54,7 @@ char* argv[];
  	prevrow = thisrow;
  	thisrow = nextrow;
@@ -1682,8 +1645,8 @@
  	    pbm_readpbmrow( ifp, nextrow, cols, format );
  
          for ( col = 0; col < cols; ++col )
---- netpbm-10.27/editor/pbmpscale.c.security	2003-07-06 21:41:04.000000000 +0200
-+++ netpbm-10.27/editor/pbmpscale.c	2005-05-16 11:12:44.071376896 +0200
+--- netpbm-10.28/editor/pbmpscale.c.security	2003-07-06 21:41:04.000000000 +0200
++++ netpbm-10.28/editor/pbmpscale.c	2005-06-10 09:44:00.389579848 +0200
 @@ -109,6 +109,7 @@ main(argc, argv)
     inrow[0] = inrow[1] = inrow[2] = NULL;
     pbm_readpbminit(ifd, &columns, &rows, &format) ;
@@ -1692,8 +1655,8 @@
     outrow = pbm_allocrow(columns*scale) ;
     MALLOCARRAY(flags, columns);
     if (flags == NULL) 
---- netpbm-10.27/editor/ppmdither.c.security	2003-07-06 21:54:02.000000000 +0200
-+++ netpbm-10.27/editor/ppmdither.c	2005-05-16 11:12:44.072376744 +0200
+--- netpbm-10.28/editor/ppmdither.c.security	2003-07-06 21:54:02.000000000 +0200
++++ netpbm-10.28/editor/ppmdither.c	2005-06-10 09:44:00.390579696 +0200
 @@ -111,6 +111,9 @@ dith_matrix(unsigned int const dith_dim)
              (dith_dim * sizeof(int *)) + /* pointers */
              (dith_dim * dith_dim * sizeof(int)); /* data */
@@ -1714,8 +1677,8 @@
      if (*colormapP == NULL) 
          pm_error("Unable to allocate space for the color lookup table "
                   "(%d by %d by %d pixels).", dith_nr, dith_ng, dith_nb);
---- netpbm-10.27/editor/pnmshear.c.security	2002-12-11 21:00:02.000000000 +0100
-+++ netpbm-10.27/editor/pnmshear.c	2005-05-16 11:12:44.073376592 +0200
+--- netpbm-10.28/editor/pnmshear.c.security	2002-12-11 21:00:02.000000000 +0100
++++ netpbm-10.28/editor/pnmshear.c	2005-06-10 09:44:00.391579544 +0200
 @@ -12,6 +12,7 @@
  
  #include <math.h>
@@ -1736,8 +1699,8 @@
      newcols = rows * shearfac + cols + 0.999999;
  
      pnm_writepnminit( stdout, newcols, rows, newmaxval, newformat, 0 );
---- netpbm-10.27/editor/pnmscalefixed.c.security	2002-07-30 19:52:49.000000000 +0200
-+++ netpbm-10.27/editor/pnmscalefixed.c	2005-05-16 11:12:44.074376440 +0200
+--- netpbm-10.28/editor/pnmscalefixed.c.security	2002-07-30 19:52:49.000000000 +0200
++++ netpbm-10.28/editor/pnmscalefixed.c	2005-06-10 09:44:00.392579392 +0200
 @@ -209,6 +209,8 @@ compute_output_dimensions(const struct c
                            const int rows, const int cols,
                            int * newrowsP, int * newcolsP) {
@@ -1766,8 +1729,8 @@
      sxscale = SCALE * newcols / cols;
      syscale = SCALE * newrows / rows;
  
---- netpbm-10.27/editor/pnmhisteq.c.security	2004-09-18 05:25:46.000000000 +0200
-+++ netpbm-10.27/editor/pnmhisteq.c	2005-05-16 11:12:44.075376288 +0200
+--- netpbm-10.28/editor/pnmhisteq.c.security	2004-09-18 05:25:46.000000000 +0200
++++ netpbm-10.28/editor/pnmhisteq.c	2005-06-10 09:44:00.393579240 +0200
 @@ -210,6 +210,7 @@ int main(argc, argv)
         user has specified an input map file, read it in at
         this point. */
@@ -1776,9 +1739,9 @@
      lumahist = (long *) pm_allocrow(maxval + 1, sizeof(long));
      memset((char *) lumahist, 0, (maxval + 1) * sizeof(long));
  
---- netpbm-10.27/editor/pnmpad.c.security	2004-05-16 00:02:15.000000000 +0200
-+++ netpbm-10.27/editor/pnmpad.c	2005-05-16 11:12:44.076376136 +0200
-@@ -356,6 +356,8 @@ main(int argc, char ** argv) {
+--- netpbm-10.28/editor/pnmpad.c.security	2005-05-22 20:30:30.000000000 +0200
++++ netpbm-10.28/editor/pnmpad.c	2005-06-10 09:44:00.393579240 +0200
+@@ -358,6 +358,8 @@ main(int argc, char ** argv) {
  
      computePadSizes(cmdline, cols, rows, &lpad, &rpad, &tpad, &bpad);
  
@@ -1787,8 +1750,8 @@
      newcols = cols + lpad + rpad;
      xelrow = pnm_allocrow(newcols);
      bgrow = pnm_allocrow(newcols);
---- netpbm-10.27/editor/pnmremap.c.security	2005-02-23 05:35:06.000000000 +0100
-+++ netpbm-10.27/editor/pnmremap.c	2005-05-16 11:12:44.077375984 +0200
+--- netpbm-10.28/editor/pnmremap.c.security	2005-02-23 05:35:06.000000000 +0100
++++ netpbm-10.28/editor/pnmremap.c	2005-06-10 09:44:00.394579088 +0200
 @@ -280,6 +280,7 @@ initFserr(struct pam * const pamP, struc
  
      unsigned int const fserrSize = pamP->width + 2;
@@ -1805,8 +1768,8 @@
      for (col = 0; col < pamP->width + 2; ++col) {
          unsigned int plane;
          for (plane = 0; plane < pamP->depth; ++plane) 
---- netpbm-10.27/editor/pamoil.c.security	2004-05-29 20:01:02.000000000 +0200
-+++ netpbm-10.27/editor/pamoil.c	2005-05-16 11:12:44.078375832 +0200
+--- netpbm-10.28/editor/pamoil.c.security	2004-05-29 20:01:02.000000000 +0200
++++ netpbm-10.28/editor/pamoil.c	2005-06-10 09:44:00.395578936 +0200
 @@ -112,6 +112,7 @@ main(int argc, char *argv[] ) {
      tuples = pnm_readpam(ifp, &inpam, PAM_STRUCT_SIZE(tuple_type));
      pm_close(ifp);
@@ -1815,8 +1778,8 @@
      MALLOCARRAY(hist, inpam.maxval + 1);
      if (hist == NULL)
          pm_error("Unable to allocate memory for histogram.");
---- netpbm-10.27/editor/pbmclean.c.security	2005-02-27 17:33:57.000000000 +0100
-+++ netpbm-10.27/editor/pbmclean.c	2005-05-16 11:12:44.079375680 +0200
+--- netpbm-10.28/editor/pbmclean.c.security	2005-02-27 17:33:57.000000000 +0100
++++ netpbm-10.28/editor/pbmclean.c	2005-06-10 09:44:00.396578784 +0200
 @@ -147,7 +147,7 @@ nextrow(FILE * const ifd, int const row,
      inrow[0] = inrow[1];
      inrow[1] = inrow[2];
@@ -1826,8 +1789,8 @@
          /* Read the "next" row in from the file.  Allocate buffer if neeeded */
          if (inrow[2] == NULL)
              inrow[2] = pbm_allocrow(cols);
---- netpbm-10.27/editor/pnmindex.csh.security	2000-09-14 07:37:35.000000000 +0200
-+++ netpbm-10.27/editor/pnmindex.csh	2005-05-16 11:12:44.079375680 +0200
+--- netpbm-10.28/editor/pnmindex.csh.security	2000-09-14 07:37:35.000000000 +0200
++++ netpbm-10.28/editor/pnmindex.csh	2005-06-10 09:44:00.397578632 +0200
 @@ -1,5 +1,8 @@
  #!/bin/csh -f
  #
@@ -1837,8 +1800,8 @@
  # pnmindex - build a visual index of a bunch of anymaps
  #
  # Copyright (C) 1991 by Jef Poskanzer.
---- netpbm-10.27/editor/pnmrotate.c.security	2004-02-02 20:19:52.000000000 +0100
-+++ netpbm-10.27/editor/pnmrotate.c	2005-05-16 11:12:44.080375528 +0200
+--- netpbm-10.28/editor/pnmrotate.c.security	2004-02-02 20:19:52.000000000 +0100
++++ netpbm-10.28/editor/pnmrotate.c	2005-06-10 09:44:00.398578480 +0200
 @@ -11,6 +11,7 @@
  */
  
@@ -1866,8 +1829,8 @@
      newcols = newrows * xshearfac + tempcols + 0.999999 - 2 * x2shearjunk;
      direction = cmdline.angle > 0 ? COUNTERCLOCKWISE : CLOCKWISE;
  
---- netpbm-10.27/editor/pamcut.c.security	2005-01-04 01:07:53.000000000 +0100
-+++ netpbm-10.27/editor/pamcut.c	2005-05-16 11:12:44.081375376 +0200
+--- netpbm-10.28/editor/pamcut.c.security	2005-01-04 01:07:53.000000000 +0100
++++ netpbm-10.28/editor/pamcut.c	2005-06-10 09:44:00.399578328 +0200
 @@ -509,6 +509,8 @@ main(int argc, char *argv[]) {
      outpam.width  = rightcol-leftcol+1;
      outpam.height = bottomrow-toprow+1;
@@ -1877,9 +1840,9 @@
      pnm_writepaminit(&outpam);
  
      /* Write out top padding */
---- netpbm-10.27/editor/pnmgamma.c.security	2004-06-16 04:28:06.000000000 +0200
-+++ netpbm-10.27/editor/pnmgamma.c	2005-05-16 11:12:44.082375224 +0200
-@@ -274,6 +274,7 @@ createGammaTables(bool const ungamma, 
+--- netpbm-10.28/editor/pnmgamma.c.security	2005-04-25 01:05:48.000000000 +0200
++++ netpbm-10.28/editor/pnmgamma.c	2005-06-10 09:44:00.399578328 +0200
+@@ -282,6 +282,7 @@ createGammaTables(bool const ungamma, 
                    xelval **rtableP, xelval **gtableP, xelval **btableP) {
  
      /* Allocate space for the tables. */
@@ -1887,8 +1850,8 @@
      MALLOCARRAY(*rtableP, maxval+1);
      MALLOCARRAY(*gtableP, maxval+1);
      MALLOCARRAY(*btableP, maxval+1);
---- netpbm-10.27/editor/pbmreduce.c.security	2003-07-06 21:41:49.000000000 +0200
-+++ netpbm-10.27/editor/pbmreduce.c	2005-05-16 11:12:44.083375072 +0200
+--- netpbm-10.28/editor/pbmreduce.c.security	2003-07-06 21:41:49.000000000 +0200
++++ netpbm-10.28/editor/pbmreduce.c	2005-06-10 09:44:00.400578176 +0200
 @@ -93,6 +93,7 @@ main( argc, argv )
  
      if ( halftone == QT_FS ) {
@@ -1897,8 +1860,8 @@
          MALLOCARRAY(thiserr, newcols + 2);
          MALLOCARRAY(nexterr, newcols + 2);
          if ( thiserr == NULL || nexterr == NULL )
---- /dev/null	2005-04-04 15:24:37.439457960 +0200
-+++ netpbm-10.27/OPENLICENSE	2005-05-16 11:12:44.084374920 +0200
+--- /dev/null	2005-06-06 11:35:49.098509792 +0200
++++ netpbm-10.28/OPENLICENSE	2005-06-10 09:44:00.401578024 +0200
 @@ -0,0 +1,163 @@
 +			The Open Software License
 +			v. 1.1
@@ -2063,8 +2026,8 @@
 +Permission is hereby granted to copy and distribute this license without 
 +modification. This license may not be modified without the express written 
 +permission of its copyright owner.
---- netpbm-10.27/lib/libpammap.c.security	2005-03-17 05:27:49.000000000 +0100
-+++ netpbm-10.27/lib/libpammap.c	2005-05-16 11:12:44.085374768 +0200
+--- netpbm-10.28/lib/libpammap.c.security	2005-05-19 19:45:38.000000000 +0200
++++ netpbm-10.28/lib/libpammap.c	2005-06-10 09:44:00.402577872 +0200
 @@ -101,6 +101,8 @@ allocTupleIntListItem(struct pam * const
      */
      struct tupleint_list_item * retval;
@@ -2074,16 +2037,16 @@
      unsigned int const size = 
          sizeof(*retval) - sizeof(retval->tupleint.tuple) 
          + pamP->depth * sizeof(sample);
---- netpbm-10.27/lib/libpbmvms.c.security	2000-05-26 20:34:55.000000000 +0200
-+++ netpbm-10.27/lib/libpbmvms.c	2005-05-16 11:12:44.085374768 +0200
+--- netpbm-10.28/lib/libpbmvms.c.security	2000-05-26 20:34:55.000000000 +0200
++++ netpbm-10.28/lib/libpbmvms.c	2005-06-10 09:44:00.403577720 +0200
 @@ -1,3 +1,5 @@
 +#warning "NOT AUDITED"
 +
  /***************************************************************************
    This file contains library routines needed to build Netpbm for VMS.
    However, as of 2000.05.26, when these were split out of libpbm1.c
---- netpbm-10.27/lib/libpm.c.security	2005-03-24 20:55:02.000000000 +0100
-+++ netpbm-10.27/lib/libpm.c	2005-05-16 11:12:44.086374616 +0200
+--- netpbm-10.28/lib/libpm.c.security	2005-05-22 03:01:20.000000000 +0200
++++ netpbm-10.28/lib/libpm.c	2005-06-10 09:44:00.404577568 +0200
 @@ -36,6 +36,7 @@
      /* This makes the the x64() functions available on AIX */
  
@@ -2110,7 +2073,7 @@
      if ( rowheap == NULL ) {
          /* We couldn't get the whole heap in one block, so try fragmented
             format.
-@@ -1368,4 +1369,53 @@ pm_check(FILE *               const file
+@@ -1337,4 +1338,53 @@ pm_check(FILE *               const file
  }
  
  
@@ -2164,8 +2127,8 @@
 +	return realloc(a, b*c);
 +}
  
---- netpbm-10.27/lib/libpam.c.security	2005-03-17 04:19:49.000000000 +0100
-+++ netpbm-10.27/lib/libpam.c	2005-05-16 11:12:44.087374464 +0200
+--- netpbm-10.28/lib/libpam.c.security	2005-03-17 04:19:49.000000000 +0100
++++ netpbm-10.28/lib/libpam.c	2005-06-10 09:44:00.405577416 +0200
 @@ -270,7 +270,8 @@ allocPamRow(const struct pam * const pam
      int const bytesPerTuple = allocationDepth(pamP) * sizeof(sample);
      tuple * tuplerow;
@@ -2176,8 +2139,8 @@
                        
      if (tuplerow != NULL) {
          /* Now we initialize the pointers to the individual tuples
---- netpbm-10.27/lib/libpbm1.c.security	2005-02-05 19:41:54.000000000 +0100
-+++ netpbm-10.27/lib/libpbm1.c	2005-05-16 11:12:44.088374312 +0200
+--- netpbm-10.28/lib/libpbm1.c.security	2005-02-05 19:41:54.000000000 +0100
++++ netpbm-10.28/lib/libpbm1.c	2005-06-10 09:44:00.405577416 +0200
 @@ -56,6 +56,7 @@ pbm_check(FILE * file, const enum pm_che
          pm_message("pm_filepos passed to pm_check() is %u bytes",
                     sizeof(pm_filepos));
@@ -2186,8 +2149,8 @@
          pm_check(file, check_type, need_raster_size, retval_p);
      }
  }
---- netpbm-10.27/lib/pm.h.security	2005-03-24 21:00:43.000000000 +0100
-+++ netpbm-10.27/lib/pm.h	2005-05-16 11:12:44.089374160 +0200
+--- netpbm-10.28/lib/pm.h.security	2005-05-22 02:59:33.000000000 +0200
++++ netpbm-10.28/lib/pm.h	2005-06-10 09:44:00.406577264 +0200
 @@ -331,6 +331,12 @@ pm_arg0toprogname(const char arg0[]);
  
  
@@ -2201,8 +2164,8 @@
  #endif
  
  
---- netpbm-10.27/urt/rle_open_f.c.security	2005-01-01 05:03:50.000000000 +0100
-+++ netpbm-10.27/urt/rle_open_f.c	2005-05-16 11:12:44.089374160 +0200
+--- netpbm-10.28/urt/rle_open_f.c.security	2005-05-17 19:31:28.000000000 +0200
++++ netpbm-10.28/urt/rle_open_f.c	2005-06-10 09:44:00.407577112 +0200
 @@ -6,6 +6,9 @@
   * 		University of Michigan
   * Date:	11/14/89
@@ -2213,7 +2176,7 @@
   */
  
  #include "rle.h"
-@@ -185,7 +188,7 @@ rle_open_f_noexit(const char * const pro
+@@ -184,7 +187,7 @@ rle_open_f_noexit(const char * const pro
  	    
          cp = file_name + strlen( (char*) file_name ) - 2;
          /* Pipe case. */
@@ -2222,7 +2185,7 @@
          {
              int thepid;		/* PID from my_popen */
              if ( (fp = my_popen( file_name + 1, mode, &thepid )) == NULL )
-@@ -200,9 +203,10 @@ rle_open_f_noexit(const char * const pro
+@@ -199,9 +202,10 @@ rle_open_f_noexit(const char * const pro
          }
  
          /* Compress case. */
@@ -2234,8 +2197,8 @@
              combuf = (char *)malloc( 20 + strlen( file_name ) );
              if ( combuf == NULL )
              {
---- netpbm-10.27/urt/Runput.c.security	2002-03-13 05:24:43.000000000 +0100
-+++ netpbm-10.27/urt/Runput.c	2005-05-16 11:12:44.090374008 +0200
+--- netpbm-10.28/urt/Runput.c.security	2002-03-13 05:24:43.000000000 +0100
++++ netpbm-10.28/urt/Runput.c	2005-06-10 09:44:00.407577112 +0200
 @@ -17,6 +17,8 @@
   *
   *  Modified at BRL 16-May-88 by Mike Muuss to avoid Alliant STDC desire
@@ -2268,8 +2231,8 @@
  	if ( h_cmap == NULL )
  	{
  	    fprintf( stderr,
---- netpbm-10.27/urt/rle_addhist.c.security	2003-01-08 20:35:44.000000000 +0100
-+++ netpbm-10.27/urt/rle_addhist.c	2005-05-16 11:12:44.091373856 +0200
+--- netpbm-10.28/urt/rle_addhist.c.security	2003-01-08 20:35:44.000000000 +0100
++++ netpbm-10.28/urt/rle_addhist.c	2005-06-10 09:44:00.408576960 +0200
 @@ -14,6 +14,8 @@
   * If you modify this software, you should include a notice giving the
   * name of the person performing the modification, the date of modification,
@@ -2318,8 +2281,8 @@
  	(void)rle_putcom(newc,out_hdr);
 -
  }
---- netpbm-10.27/urt/rle_getrow.c.security	2004-10-19 17:41:01.000000000 +0200
-+++ netpbm-10.27/urt/rle_getrow.c	2005-05-16 11:12:44.091373856 +0200
+--- netpbm-10.28/urt/rle_getrow.c.security	2004-10-19 17:41:01.000000000 +0200
++++ netpbm-10.28/urt/rle_getrow.c	2005-06-10 09:44:00.409576808 +0200
 @@ -17,6 +17,8 @@
   *
   *  Modified at BRL 16-May-88 by Mike Muuss to avoid Alliant STDC desire
@@ -2372,8 +2335,8 @@
          if ( the_hdr->comments == NULL )
          {
          fprintf( stderr,
---- netpbm-10.27/urt/rle.h.security	2002-03-13 16:32:34.000000000 +0100
-+++ netpbm-10.27/urt/rle.h	2005-05-16 11:12:44.092373704 +0200
+--- netpbm-10.28/urt/rle.h.security	2002-03-13 16:32:34.000000000 +0100
++++ netpbm-10.28/urt/rle.h	2005-06-10 09:44:00.410576656 +0200
 @@ -14,6 +14,9 @@
   * If you modify this software, you should include a notice giving the
   * name of the person performing the modification, the date of modification,
@@ -2401,8 +2364,8 @@
  
  /* Declare RLE library routines. */
  
---- netpbm-10.27/urt/README.security	2000-06-02 22:53:04.000000000 +0200
-+++ netpbm-10.27/urt/README	2005-05-16 11:12:44.092373704 +0200
+--- netpbm-10.28/urt/README.security	2000-06-02 22:53:04.000000000 +0200
++++ netpbm-10.28/urt/README	2005-06-10 09:44:00.410576656 +0200
 @@ -18,3 +18,8 @@ in its initializer in the original.  But
  defines stdout as a variable, so that wouldn't compile.  So I changed
  it to NULL and added a line to rle_hdr_init to set that field to
@@ -2412,8 +2375,8 @@
 +Removed pipe through and compress support (unsafe)
 +
 +Alan Cox <alan at redhat.com>
---- netpbm-10.27/urt/scanargs.c.security	2003-01-08 20:38:25.000000000 +0100
-+++ netpbm-10.27/urt/scanargs.c	2005-05-16 11:12:44.093373552 +0200
+--- netpbm-10.28/urt/scanargs.c.security	2003-01-08 20:38:25.000000000 +0100
++++ netpbm-10.28/urt/scanargs.c	2005-06-10 09:44:00.411576504 +0200
 @@ -38,6 +38,8 @@
   *
   *  Modified at BRL 16-May-88 by Mike Muuss to avoid Alliant STDC desire
@@ -2434,8 +2397,8 @@
  
  #if defined(c_plusplus) && !defined(USE_PROTOTYPES)
  #define USE_PROTOTYPES
---- netpbm-10.27/urt/rle_putcom.c.security	2000-05-19 01:12:22.000000000 +0200
-+++ netpbm-10.27/urt/rle_putcom.c	2005-05-16 11:12:44.094373400 +0200
+--- netpbm-10.28/urt/rle_putcom.c.security	2000-05-19 01:12:22.000000000 +0200
++++ netpbm-10.28/urt/rle_putcom.c	2005-06-10 09:44:00.411576504 +0200
 @@ -14,6 +14,8 @@
   * If you modify this software, you should include a notice giving the
   * name of the person performing the modification, the date of modification,
@@ -2478,8 +2441,8 @@
  	the_hdr->comments[--i] = NULL;
  	the_hdr->comments[--i] = value;
  	for ( i--; i >= 0; i-- )
---- netpbm-10.27/urt/rle_hdr.c.security	2000-06-09 09:49:51.000000000 +0200
-+++ netpbm-10.27/urt/rle_hdr.c	2005-05-16 11:12:44.095373248 +0200
+--- netpbm-10.28/urt/rle_hdr.c.security	2000-06-09 09:49:51.000000000 +0200
++++ netpbm-10.28/urt/rle_hdr.c	2005-06-10 09:44:00.412576352 +0200
 @@ -14,6 +14,8 @@
   * If you modify this software, you should include a notice giving the
   * name of the person performing the modification, the date of modification,
@@ -2546,8 +2509,8 @@
  	    size *= sizeof(char *);
  	    to_hdr->comments = (CONST_DECL char **)malloc( size );
  	    RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->comments, "comments" );
---- netpbm-10.27/analyzer/pgmhist.c.security	2003-07-06 21:23:19.000000000 +0200
-+++ netpbm-10.27/analyzer/pgmhist.c	2005-05-16 11:12:44.095373248 +0200
+--- netpbm-10.28/analyzer/pgmhist.c.security	2003-07-06 21:23:19.000000000 +0200
++++ netpbm-10.28/analyzer/pgmhist.c	2005-06-10 09:44:00.413576200 +0200
 @@ -45,6 +45,7 @@ main( argc, argv )
      grayrow = pgm_allocrow( cols );
  
@@ -2556,8 +2519,8 @@
      MALLOCARRAY(hist, maxval + 1);
      MALLOCARRAY(rcount, maxval + 1);
      if ( hist == NULL || rcount == NULL )
---- netpbm-10.27/analyzer/pgmtexture.c.security	2003-08-07 18:18:16.000000000 +0200
-+++ netpbm-10.27/analyzer/pgmtexture.c	2005-05-16 11:12:44.096373096 +0200
+--- netpbm-10.28/analyzer/pgmtexture.c.security	2003-08-07 18:18:16.000000000 +0200
++++ netpbm-10.28/analyzer/pgmtexture.c	2005-06-10 09:44:00.414576048 +0200
 @@ -75,7 +75,10 @@ vector (int nl, int nh)
  {
    float *v;

netpbm-10.27-libpm.patch:
 libpm.c |    3 +++
 1 files changed, 3 insertions(+)

Index: netpbm-10.27-libpm.patch
===================================================================
RCS file: /cvs/dist/rpms/netpbm/FC-3/netpbm-10.27-libpm.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- netpbm-10.27-libpm.patch	23 May 2005 11:15:50 -0000	1.1
+++ netpbm-10.27-libpm.patch	29 Jul 2005 08:46:27 -0000	1.2
@@ -17,22 +17,3 @@
      if (c == EOF)
          abortWithReadError(ifP);
      s |= (c & 0xff) << 8;
-@@ -1076,13 +1079,18 @@ pm_readlittlelong(FILE * const ifP, 
-     if (c == EOF)
-         abortWithReadError(ifP);
-     l = c & 0xff;
-+
-     c = getc(ifP);
-     if (c == EOF)
-         abortWithReadError(ifP);
-     l |= (c & 0xff) << 8;
-+
-+    c = getc(ifP);
-     if (c == EOF)
-         abortWithReadError(ifP);
-     l |= (c & 0xff) << 16;
-+
-+    c = getc(ifP);
-     if (c == EOF)
-         abortWithReadError(ifP);
-     l |= (c & 0xff) << 24;


Index: netpbm.spec
===================================================================
RCS file: /cvs/dist/rpms/netpbm/FC-3/netpbm.spec,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- netpbm.spec	27 Jun 2005 12:01:14 -0000	1.28
+++ netpbm.spec	29 Jul 2005 08:46:27 -0000	1.29
@@ -1,7 +1,7 @@
 Summary: A library for handling different graphics file formats.
 Name: netpbm
-Version: 10.27
-Release: 4.FC3.1
+Version: 10.28
+Release: 1.FC3.1
 License: freeware
 Group: System Environment/Libraries
 URL: http://netpbm.sourceforge.net/
@@ -14,14 +14,11 @@
 Patch5: netpbm-10.22-security2.patch
 Patch6: netpbm-10.22-cmapsize.patch
 Patch7: netpbm-10.23-security.patch
-Patch8: netpbm-10.23-pngtopnm.patch
 Patch9: netpbm-10.24-nodoc.patch
-Patch10: netpbm-10.26.4-gcc4.patch
-Patch11: netpbm-10.27-badlink.patch
+Patch10: netpbm-10.28-gcc4.patch
 Patch12: netpbm-10.27-bmptopnm.patch
 Patch13: netpbm-10.27-libpm.patch
 Patch14: netpbm-10.27-pnmtojpeg.patch
-Patch15: netpbm-10.27-pnmcolormap.patch
 Patch16: netpbm-10.28-ndebug.patch
 Buildroot: %{_tmppath}/%{name}-root
 BuildPrereq: libjpeg-devel, libpng-devel, libtiff-devel, perl
@@ -73,14 +70,11 @@
 %patch5 -p1 -b .security2
 %patch6 -p1 -b .cmapsize
 %patch7 -p1 -b .security
-%patch8 -p1 -b .pngtopnm
 %patch9 -p1 -b .nodoc
 %patch10 -p1 -b .gcc4
-%patch11 -p1 -b .badlink
 %patch12 -p1 -b .bmptopnm
 %patch13 -p1 -b .libpm
 %patch14 -p1 -b .pnmtojpeg
-%patch15 -p1 -b .pnmcolormap
 %patch16 -p1 -b .ndebug
 
 ##mv shhopt/shhopt.h shhopt/pbmshhopt.h
@@ -179,6 +173,15 @@
 %{_mandir}/man5/*
 
 %changelog
+* Fri Jul 29 2005 Jindrich Novy <jnovy at redhat.com> 10.28-1.FC3.1
+- update to 10.28
+- regenerate man pages
+- sync .security, .security2, .gcc4 patches
+- drop upstreamed .pngtopnm, .badlink, .pnmcolormap patches
+- create symlink pnmtopnm -> pamtopnm, this works now in
+  netpbm-10.28 (#161436)
+- fix buffer overflow in pbmtolj (#163596)
+
 * Mon Jun 27 2005 Jindrich Novy <jnovy at redhat.com> 10.27-4.FC3.1
 - create correct symlink pnmtopnm -> pamtopnm (#161436)
 - fix segfault in pbmtolj caused by unchecked assertions


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/netpbm/FC-3/sources,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- sources	23 May 2005 11:15:50 -0000	1.13
+++ sources	29 Jul 2005 08:46:27 -0000	1.14
@@ -1,2 +1,2 @@
-9075c0f45df08c54e7b8834e236e4bcc  netpbm-10.27.tar.bz2
-f28dd0bcf678de96764c35bc0badfacd  netpbmdoc-10.27.tar.bz2
+f1b766be9e0ba2470f762ee0717b834f  netpbm-10.28.tar.bz2
+41f281d183afded0118f2fde2b8b79f1  netpbmdoc-10.28.tar.bz2


--- netpbm-10.23-pngtopnm.patch DELETED ---


--- netpbm-10.26.4-gcc4.patch DELETED ---


--- netpbm-10.27-badlink.patch DELETED ---


--- netpbm-10.27-pnmcolormap.patch DELETED ---




More information about the fedora-cvs-commits mailing list