From 01861b371c5e4d60482990581b73b7e519b104eb85844f8bb18e93383223ec47 Mon Sep 17 00:00:00 2001 From: Petr Gajdos Date: Mon, 31 Dec 2018 17:20:28 +0000 Subject: [PATCH 1/2] - updated to 10.85.00 * pnmpaste: Add -nand, -nor, and -nxor. * pamcut: add -cropleft, -cropright, -croptop, -cropbottom. * ppmtobmp: respect -bpp with PBM input. * bmptopnm: allow single color colormap with bpp 1. * bmptopnm: validate plane count = 1. * bmptopnm: Add RLE4 compression decoding. This was ostensibly added in Netpbm 10.32 (February 2006), but never worked. * Add pammixmulti. Thanks Scott Pakin (scott+pbm@pakin.org). * pamtotga: Add -cmap16 . * pamtris: Add -rgb, -grayscale. Add w parameter to vertex instructions. Fix perspective correctness. Thanks Lucas Brunno Luna . * picttoppm: accept rectangle specifications in input that have the corners in any order, not just upper left, then lower right. * pamtotga: identify compressed colormapped format in error message saying the program doesn't know how to interpret it. * pamtotga: Ignore extra planes in black and white or grayscale input instead of generating junk output. * bmptopnm: Fix wrong output for non-colormapped OS2 BMP. Broken in Netpbm 10.18 (September 2003). * bmptopnm: Fix array bounds violation when index value in raster is too big. Broken after Netpbm 10.11 (October 2002) but before 10.19 (November 2003). - modified patches * netpbm-gcc-warnings.patch * netpbm-security-code.patch OBS-URL: https://build.opensuse.org/package/show/graphics/netpbm?expand=0&rev=97 --- netpbm-10.84.2-documentation.tar.bz2 | 3 - ...bm-10.84.2-nohpcdtoppm-noppmtompeg.tar.bz2 | 3 - netpbm-10.85.0-documentation.tar.bz2 | 3 + ...bm-10.85.0-nohpcdtoppm-noppmtompeg.tar.bz2 | 3 + netpbm-gcc-warnings.patch | 28 +- netpbm-security-code.patch | 550 +++++++++--------- netpbm.changes | 31 + netpbm.spec | 6 +- 8 files changed, 333 insertions(+), 294 deletions(-) delete mode 100644 netpbm-10.84.2-documentation.tar.bz2 delete mode 100644 netpbm-10.84.2-nohpcdtoppm-noppmtompeg.tar.bz2 create mode 100644 netpbm-10.85.0-documentation.tar.bz2 create mode 100644 netpbm-10.85.0-nohpcdtoppm-noppmtompeg.tar.bz2 diff --git a/netpbm-10.84.2-documentation.tar.bz2 b/netpbm-10.84.2-documentation.tar.bz2 deleted file mode 100644 index 849c2fd..0000000 --- a/netpbm-10.84.2-documentation.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:83e11ee582a14029487244f5f3bc537692a1794285526fdc7df8f25664ca9468 -size 11743750 diff --git a/netpbm-10.84.2-nohpcdtoppm-noppmtompeg.tar.bz2 b/netpbm-10.84.2-nohpcdtoppm-noppmtompeg.tar.bz2 deleted file mode 100644 index fc19f82..0000000 --- a/netpbm-10.84.2-nohpcdtoppm-noppmtompeg.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:53cacdf7df6cedc04952290ac5230c53420a3d06ec97dfe06a84c9c60211739c -size 1895854 diff --git a/netpbm-10.85.0-documentation.tar.bz2 b/netpbm-10.85.0-documentation.tar.bz2 new file mode 100644 index 0000000..7078080 --- /dev/null +++ b/netpbm-10.85.0-documentation.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c34ef517c00490d7d17774ffc6d64d1b18d28cc663676f61bfe154ed1e15f67d +size 11748721 diff --git a/netpbm-10.85.0-nohpcdtoppm-noppmtompeg.tar.bz2 b/netpbm-10.85.0-nohpcdtoppm-noppmtompeg.tar.bz2 new file mode 100644 index 0000000..69d7f5c --- /dev/null +++ b/netpbm-10.85.0-nohpcdtoppm-noppmtompeg.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8711025c7b861931b4889a6ade8403718f23214f6a049cd2a154e011b00bc1e2 +size 1901918 diff --git a/netpbm-gcc-warnings.patch b/netpbm-gcc-warnings.patch index b3cca86..afa60b8 100644 --- a/netpbm-gcc-warnings.patch +++ b/netpbm-gcc-warnings.patch @@ -1,8 +1,8 @@ -Index: netpbm-10.75.1/converter/other/pngx.c +Index: netpbm-10.85.0/converter/other/pngx.c =================================================================== ---- netpbm-10.75.1.orig/converter/other/pngx.c 2016-08-22 11:03:31.641785020 +0200 -+++ netpbm-10.75.1/converter/other/pngx.c 2016-08-22 17:36:34.165268951 +0200 -@@ -342,6 +342,7 @@ pngx_srgbIntentDesc(pngx_srgbIntent cons +--- netpbm-10.85.0.orig/converter/other/pngx.c 2018-12-31 16:41:07.134118718 +0100 ++++ netpbm-10.85.0/converter/other/pngx.c 2018-12-31 17:50:20.646020442 +0100 +@@ -366,6 +366,7 @@ pngx_srgbIntentDesc(pngx_srgbIntent cons case PNGX_ABSOLUTE_COLORIMETRIC: return "ABSOLUTE_COLORIMETRIC"; } assert(false); @@ -10,7 +10,7 @@ Index: netpbm-10.75.1/converter/other/pngx.c } -@@ -357,6 +358,7 @@ const libpngSrgbIntentCode(pngx_srgbInte +@@ -381,6 +382,7 @@ const libpngSrgbIntentCode(pngx_srgbInte } assert(false); /* All cases above return */ @@ -18,10 +18,10 @@ Index: netpbm-10.75.1/converter/other/pngx.c } -Index: netpbm-10.75.1/editor/pbmreduce.c +Index: netpbm-10.85.0/editor/pbmreduce.c =================================================================== ---- netpbm-10.75.1.orig/editor/pbmreduce.c 2016-08-22 17:36:34.141268538 +0200 -+++ netpbm-10.75.1/editor/pbmreduce.c 2016-08-22 17:37:35.838325686 +0200 +--- netpbm-10.85.0.orig/editor/pbmreduce.c 2018-12-31 17:50:20.618020308 +0100 ++++ netpbm-10.85.0/editor/pbmreduce.c 2018-12-31 17:50:20.646020442 +0100 @@ -202,6 +202,9 @@ oppositeDir(enum Direction const arg) { case RIGHT_TO_LEFT: return LEFT_TO_RIGHT; } @@ -32,3 +32,15 @@ Index: netpbm-10.75.1/editor/pbmreduce.c } +Index: netpbm-10.85.0/lib/libpm.c +=================================================================== +--- netpbm-10.85.0.orig/lib/libpm.c 2018-12-31 17:50:20.622020327 +0100 ++++ netpbm-10.85.0/lib/libpm.c 2018-12-31 17:51:40.886403785 +0100 +@@ -440,6 +440,7 @@ pm_maxvaltobits(int const maxval) { + pm_error( "maxval of %d is too large!", maxval ); + + assert(false); ++ return 0; + } + + int diff --git a/netpbm-security-code.patch b/netpbm-security-code.patch index 3c4a266..f4cd857 100644 --- a/netpbm-security-code.patch +++ b/netpbm-security-code.patch @@ -1,7 +1,7 @@ -Index: netpbm-10.83.2/analyzer/pgmtexture.c +Index: netpbm-10.85.0/analyzer/pgmtexture.c =================================================================== ---- netpbm-10.83.2.orig/analyzer/pgmtexture.c -+++ netpbm-10.83.2/analyzer/pgmtexture.c +--- netpbm-10.85.0.orig/analyzer/pgmtexture.c 2018-12-31 16:40:55.210061326 +0100 ++++ netpbm-10.85.0/analyzer/pgmtexture.c 2018-12-31 17:29:41.764094442 +0100 @@ -97,7 +97,7 @@ vector(unsigned int const nl, float * v; @@ -28,22 +28,23 @@ Index: netpbm-10.83.2/analyzer/pgmtexture.c /* allocate rows and set pointers to them */ for (i = nrl; i <= nrh; ++i) { MALLOCARRAY(m[i], (unsigned) (nch - ncl + 1)); -Index: netpbm-10.83.2/converter/other/gemtopnm.c +Index: netpbm-10.85.0/converter/other/gemtopnm.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/gemtopnm.c -+++ netpbm-10.83.2/converter/other/gemtopnm.c -@@ -106,6 +106,7 @@ main(argc, argv) - - pnm_writepnminit( stdout, cols, rows, MAXVAL, type, 0 ); +--- netpbm-10.85.0.orig/converter/other/gemtopnm.c 2018-12-31 17:29:41.764094442 +0100 ++++ netpbm-10.85.0/converter/other/gemtopnm.c 2018-12-31 17:34:15.125402921 +0100 +@@ -105,7 +105,7 @@ main(argc, argv) + type = PPM_TYPE; + pnm_writepnminit( stdout, cols, rows, MAXVAL, type, 0 ); +- + overflow_add(cols, padright); - { + { /* allocate input row data structure */ int plane; -Index: netpbm-10.83.2/converter/other/jpegtopnm.c +Index: netpbm-10.85.0/converter/other/jpegtopnm.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/jpegtopnm.c -+++ netpbm-10.83.2/converter/other/jpegtopnm.c +--- netpbm-10.85.0.orig/converter/other/jpegtopnm.c 2018-12-31 16:41:13.154147692 +0100 ++++ netpbm-10.85.0/converter/other/jpegtopnm.c 2018-12-31 17:29:41.768094461 +0100 @@ -862,6 +862,8 @@ convertImage(FILE * /* Calculate output image dimensions so we can allocate space */ jpeg_calc_output_dimensions(cinfoP); @@ -53,10 +54,10 @@ Index: netpbm-10.83.2/converter/other/jpegtopnm.c /* Start decompressor */ jpeg_start_decompress(cinfoP); -Index: netpbm-10.83.2/converter/other/pbmtopgm.c +Index: netpbm-10.85.0/converter/other/pbmtopgm.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/pbmtopgm.c -+++ netpbm-10.83.2/converter/other/pbmtopgm.c +--- netpbm-10.85.0.orig/converter/other/pbmtopgm.c 2018-12-31 16:41:10.102133003 +0100 ++++ netpbm-10.85.0/converter/other/pbmtopgm.c 2018-12-31 17:29:41.768094461 +0100 @@ -47,6 +47,7 @@ main(int argc, char *argv[]) { "than the image height (%u rows)", height, rows); @@ -65,10 +66,10 @@ Index: netpbm-10.83.2/converter/other/pbmtopgm.c maxval = MIN(PGM_OVERALLMAXVAL, width*height); pgm_writepgminit(stdout, cols, rows, maxval, 0) ; -Index: netpbm-10.83.2/converter/other/pnmtoddif.c +Index: netpbm-10.85.0/converter/other/pnmtoddif.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/pnmtoddif.c -+++ netpbm-10.83.2/converter/other/pnmtoddif.c +--- netpbm-10.85.0.orig/converter/other/pnmtoddif.c 2018-12-31 16:41:09.498130097 +0100 ++++ netpbm-10.85.0/converter/other/pnmtoddif.c 2018-12-31 17:29:41.768094461 +0100 @@ -629,6 +629,7 @@ main(int argc, char *argv[]) { switch (PNM_FORMAT_TYPE(format)) { case PBM_TYPE: @@ -85,10 +86,10 @@ Index: netpbm-10.83.2/converter/other/pnmtoddif.c ip.bytes_per_line = 3 * cols; ip.bits_per_pixel = 24; ip.spectral = 5; -Index: netpbm-10.83.2/converter/other/pnmtojpeg.c +Index: netpbm-10.85.0/converter/other/pnmtojpeg.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/pnmtojpeg.c -+++ netpbm-10.83.2/converter/other/pnmtojpeg.c +--- netpbm-10.85.0.orig/converter/other/pnmtojpeg.c 2018-12-31 16:41:13.154147692 +0100 ++++ netpbm-10.85.0/converter/other/pnmtojpeg.c 2018-12-31 17:29:41.768094461 +0100 @@ -606,7 +606,11 @@ read_scan_script(j_compress_ptr const ci want JPOOL_PERMANENT. */ @@ -119,10 +120,10 @@ Index: netpbm-10.83.2/converter/other/pnmtojpeg.c buffer = (*cinfo_p->mem->alloc_sarray) ((j_common_ptr) cinfo_p, JPOOL_IMAGE, (unsigned int) cinfo_p->image_width * cinfo_p->input_components, -Index: netpbm-10.83.2/converter/other/pnmtops.c +Index: netpbm-10.85.0/converter/other/pnmtops.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/pnmtops.c -+++ netpbm-10.83.2/converter/other/pnmtops.c +--- netpbm-10.85.0.orig/converter/other/pnmtops.c 2018-12-31 16:41:07.610121007 +0100 ++++ netpbm-10.85.0/converter/other/pnmtops.c 2018-12-31 17:29:41.768094461 +0100 @@ -294,17 +294,21 @@ parseCommandLine(int argc, const char ** validateCompDimension(width, 72, "-width value"); validateCompDimension(height, 72, "-height value"); @@ -146,10 +147,10 @@ Index: netpbm-10.83.2/converter/other/pnmtops.c cmdlineP->imageheight = imageheight * 72; } else -Index: netpbm-10.83.2/converter/other/pnmtorle.c +Index: netpbm-10.85.0/converter/other/pnmtorle.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/pnmtorle.c -+++ netpbm-10.83.2/converter/other/pnmtorle.c +--- netpbm-10.85.0.orig/converter/other/pnmtorle.c 2018-12-31 16:41:13.162147730 +0100 ++++ netpbm-10.85.0/converter/other/pnmtorle.c 2018-12-31 17:29:41.768094461 +0100 @@ -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, @@ -159,10 +160,10 @@ Index: netpbm-10.83.2/converter/other/pnmtorle.c */ /* * pnmtorle - A program which will convert pbmplus (ppm or pgm) images -Index: netpbm-10.83.2/converter/other/pnmtosgi.c +Index: netpbm-10.85.0/converter/other/pnmtosgi.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/pnmtosgi.c -+++ netpbm-10.83.2/converter/other/pnmtosgi.c +--- netpbm-10.85.0.orig/converter/other/pnmtosgi.c 2018-12-31 16:41:09.502130117 +0100 ++++ netpbm-10.85.0/converter/other/pnmtosgi.c 2018-12-31 17:29:41.768094461 +0100 @@ -185,6 +185,7 @@ buildChannels(FILE * const ifP, ScanElem * temp; @@ -171,10 +172,10 @@ Index: netpbm-10.83.2/converter/other/pnmtosgi.c MALLOCARRAY_NOFAIL(table, channels * rows); } else table = NULL; -Index: netpbm-10.83.2/converter/other/rletopnm.c +Index: netpbm-10.85.0/converter/other/rletopnm.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/rletopnm.c -+++ netpbm-10.83.2/converter/other/rletopnm.c +--- netpbm-10.85.0.orig/converter/other/rletopnm.c 2018-12-31 16:41:07.610121007 +0100 ++++ netpbm-10.85.0/converter/other/rletopnm.c 2018-12-31 17:29:41.768094461 +0100 @@ -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, @@ -184,10 +185,10 @@ Index: netpbm-10.83.2/converter/other/rletopnm.c */ /* * rletopnm - A conversion program to convert from Utah's "rle" image format -Index: netpbm-10.83.2/converter/other/sgitopnm.c +Index: netpbm-10.85.0/converter/other/sgitopnm.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/sgitopnm.c -+++ netpbm-10.83.2/converter/other/sgitopnm.c +--- netpbm-10.85.0.orig/converter/other/sgitopnm.c 2018-12-31 16:41:09.494130078 +0100 ++++ netpbm-10.85.0/converter/other/sgitopnm.c 2018-12-31 17:29:41.768094461 +0100 @@ -377,10 +377,14 @@ readChannels(FILE * const ifP, MALLOCARRAY_NOFAIL(image, head->ysize); } else { @@ -204,10 +205,10 @@ Index: netpbm-10.83.2/converter/other/sgitopnm.c for (channel = 0; channel < maxchannel; ++channel) { unsigned int row; -Index: netpbm-10.83.2/converter/other/sirtopnm.c +Index: netpbm-10.85.0/converter/other/sirtopnm.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/sirtopnm.c -+++ netpbm-10.83.2/converter/other/sirtopnm.c +--- netpbm-10.85.0.orig/converter/other/sirtopnm.c 2018-12-31 16:41:09.506130136 +0100 ++++ netpbm-10.85.0/converter/other/sirtopnm.c 2018-12-31 17:29:41.768094461 +0100 @@ -69,6 +69,7 @@ char* argv[]; } break; @@ -216,10 +217,10 @@ Index: netpbm-10.83.2/converter/other/sirtopnm.c picsize = cols * rows * 3; planesize = cols * rows; if ( !( sirarray = (unsigned char*) malloc( picsize ) ) ) -Index: netpbm-10.83.2/converter/other/tifftopnm.c +Index: netpbm-10.85.0/converter/other/tifftopnm.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/tifftopnm.c -+++ netpbm-10.83.2/converter/other/tifftopnm.c +--- netpbm-10.85.0.orig/converter/other/tifftopnm.c 2018-12-31 16:41:07.134118718 +0100 ++++ netpbm-10.85.0/converter/other/tifftopnm.c 2018-12-31 17:29:41.768094461 +0100 @@ -1372,7 +1372,9 @@ convertRasterByRows(pnmOut * const if (scanbuf == NULL) pm_error("can't allocate memory for scanline buffer"); @@ -231,10 +232,10 @@ Index: netpbm-10.83.2/converter/other/tifftopnm.c if (samplebuf == NULL) pm_error("can't allocate memory for row buffer"); -Index: netpbm-10.83.2/converter/other/xwdtopnm.c +Index: netpbm-10.85.0/converter/other/xwdtopnm.c =================================================================== ---- netpbm-10.83.2.orig/converter/other/xwdtopnm.c -+++ netpbm-10.83.2/converter/other/xwdtopnm.c +--- netpbm-10.85.0.orig/converter/other/xwdtopnm.c 2018-12-31 16:41:09.494130078 +0100 ++++ netpbm-10.85.0/converter/other/xwdtopnm.c 2018-12-31 17:29:41.768094461 +0100 @@ -210,6 +210,10 @@ processX10Header(X10WDFileHeader * cons *colorsP = pnm_allocrow(2); PNM_ASSIGN1((*colorsP)[0], 0); @@ -254,10 +255,10 @@ Index: netpbm-10.83.2/converter/other/xwdtopnm.c *padrightP = h11FixedP->bytes_per_line * 8 - h11FixedP->pixmap_width * h11FixedP->bits_per_pixel; -Index: netpbm-10.83.2/converter/pbm/mdatopbm.c +Index: netpbm-10.85.0/converter/pbm/mdatopbm.c =================================================================== ---- netpbm-10.83.2.orig/converter/pbm/mdatopbm.c -+++ netpbm-10.83.2/converter/pbm/mdatopbm.c +--- netpbm-10.85.0.orig/converter/pbm/mdatopbm.c 2018-12-31 16:41:13.166147749 +0100 ++++ netpbm-10.85.0/converter/pbm/mdatopbm.c 2018-12-31 17:29:41.768094461 +0100 @@ -245,10 +245,13 @@ main(int argc, char **argv) { pm_readlittleshort(infile, &yy); nInCols = yy; } @@ -273,10 +274,10 @@ Index: netpbm-10.83.2/converter/pbm/mdatopbm.c data = pbm_allocarray(nOutCols, nOutRows); -Index: netpbm-10.83.2/converter/pbm/mgrtopbm.c +Index: netpbm-10.85.0/converter/pbm/mgrtopbm.c =================================================================== ---- netpbm-10.83.2.orig/converter/pbm/mgrtopbm.c -+++ netpbm-10.83.2/converter/pbm/mgrtopbm.c +--- netpbm-10.85.0.orig/converter/pbm/mgrtopbm.c 2018-12-31 16:41:16.074161747 +0100 ++++ netpbm-10.85.0/converter/pbm/mgrtopbm.c 2018-12-31 17:29:41.772094480 +0100 @@ -65,6 +65,8 @@ readMgrHeader(FILE * const ifP, if (head.h_high < ' ' || head.l_high < ' ') pm_error("Invalid width field in MGR header"); @@ -286,10 +287,10 @@ Index: netpbm-10.83.2/converter/pbm/mgrtopbm.c *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; -Index: netpbm-10.83.2/converter/pbm/pbmtogem.c +Index: netpbm-10.85.0/converter/pbm/pbmtogem.c =================================================================== ---- netpbm-10.83.2.orig/converter/pbm/pbmtogem.c -+++ netpbm-10.83.2/converter/pbm/pbmtogem.c +--- netpbm-10.85.0.orig/converter/pbm/pbmtogem.c 2018-12-31 16:41:13.162147730 +0100 ++++ netpbm-10.85.0/converter/pbm/pbmtogem.c 2018-12-31 17:29:41.772094480 +0100 @@ -79,6 +79,7 @@ putinit (int const rows, int const cols) bitsperitem = 0; bitshift = 7; @@ -298,10 +299,10 @@ Index: netpbm-10.83.2/converter/pbm/pbmtogem.c outmax = (cols + 7) / 8; outrow = (unsigned char *) pm_allocrow (outmax, sizeof (unsigned char)); lastrow = (unsigned char *) pm_allocrow (outmax, sizeof (unsigned char)); -Index: netpbm-10.83.2/converter/pbm/pbmtogo.c +Index: netpbm-10.85.0/converter/pbm/pbmtogo.c =================================================================== ---- netpbm-10.83.2.orig/converter/pbm/pbmtogo.c -+++ netpbm-10.83.2/converter/pbm/pbmtogo.c +--- netpbm-10.85.0.orig/converter/pbm/pbmtogo.c 2018-12-31 16:41:13.162147730 +0100 ++++ netpbm-10.85.0/converter/pbm/pbmtogo.c 2018-12-31 17:29:41.772094480 +0100 @@ -158,6 +158,7 @@ main(int argc, bitrow = pbm_allocrow(cols); @@ -310,10 +311,10 @@ Index: netpbm-10.83.2/converter/pbm/pbmtogo.c rucols = ( cols + 7 ) / 8; bytesperrow = rucols; /* GraphOn uses bytes */ rucols = rucols * 8; -Index: netpbm-10.83.2/converter/pbm/pbmtolj.c +Index: netpbm-10.85.0/converter/pbm/pbmtolj.c =================================================================== ---- netpbm-10.83.2.orig/converter/pbm/pbmtolj.c -+++ netpbm-10.83.2/converter/pbm/pbmtolj.c +--- netpbm-10.85.0.orig/converter/pbm/pbmtolj.c 2018-12-31 16:41:13.150147673 +0100 ++++ netpbm-10.85.0/converter/pbm/pbmtolj.c 2018-12-31 17:29:41.772094480 +0100 @@ -120,7 +120,11 @@ parseCommandLine(int argc, char ** argv, static void allocateBuffers(unsigned int const cols) { @@ -326,10 +327,10 @@ Index: netpbm-10.83.2/converter/pbm/pbmtolj.c packBufferSize = rowBufferSize + (rowBufferSize + 127) / 128 + 1; deltaBufferSize = rowBufferSize + rowBufferSize / 8 + 10; -Index: netpbm-10.83.2/converter/pbm/pbmtomda.c +Index: netpbm-10.85.0/converter/pbm/pbmtomda.c =================================================================== ---- netpbm-10.83.2.orig/converter/pbm/pbmtomda.c -+++ netpbm-10.83.2/converter/pbm/pbmtomda.c +--- netpbm-10.85.0.orig/converter/pbm/pbmtomda.c 2018-12-31 16:41:16.074161747 +0100 ++++ netpbm-10.85.0/converter/pbm/pbmtomda.c 2018-12-31 17:29:41.772094480 +0100 @@ -179,6 +179,7 @@ int main(int argc, char **argv) nOutRowsUnrounded = bScale ? nInRows/2 : nInRows; @@ -338,32 +339,30 @@ Index: netpbm-10.83.2/converter/pbm/pbmtomda.c nOutRows = ((nOutRowsUnrounded + 3) / 4) * 4; /* MDA wants rows a multiple of 4 */ nOutCols = nInCols / 8; -Index: netpbm-10.83.2/converter/pbm/pbmtoppa/pbm.c +Index: netpbm-10.85.0/converter/pbm/pbmtoppa/pbm.c =================================================================== ---- netpbm-10.83.2.orig/converter/pbm/pbmtoppa/pbm.c -+++ netpbm-10.83.2/converter/pbm/pbmtoppa/pbm.c -@@ -106,6 +106,7 @@ int pbm_readline(pbm_stat* pbm,unsigned - return 0; +--- netpbm-10.85.0.orig/converter/pbm/pbmtoppa/pbm.c 2018-12-31 17:29:41.772094480 +0100 ++++ netpbm-10.85.0/converter/pbm/pbmtoppa/pbm.c 2018-12-31 17:36:15.345978378 +0100 +@@ -154,6 +154,7 @@ pbm_readline(pbm_stat * const pbmSt + break; + case P4: { + int tmp, tmp2; ++ overflow_add(pbmStatP->width, 7); + tmp = (pbmStatP->width+7)/8; + tmp2 = fread(data,1,tmp,pbmStatP->fptr); + if (tmp2 == tmp) { +@@ -186,6 +187,7 @@ pbm_unreadline(pbm_stat * const pbmStatP - case P4: -+ overflow_add(pbm->width, 7); - tmp=(pbm->width+7)/8; - tmp2=fread(data,1,tmp,pbm->fptr); - if(tmp2 == tmp) -@@ -130,7 +131,8 @@ void pbm_unreadline (pbm_stat *pbm, void - return; - - pbm->unread = 1; -- pbm->revdata = malloc ((pbm->width+7)/8); -+ overflow_add(pbm->width, 7); -+ pbm->revdata = malloc((pbm->width+7)/8); - memcpy (pbm->revdata, data, (pbm->width+7)/8); - pbm->current_line--; - } -Index: netpbm-10.83.2/converter/pbm/pbmtoppa/pbmtoppa.c + if (!pbmStatP->unread) { + pbmStatP->unread = 1; ++ overflow_add(pbmStatP->width, 7); + pbmStatP->revdata = malloc ((pbmStatP->width+7)/8); + memcpy(pbmStatP->revdata, data, (pbmStatP->width+7)/8); + --pbmStatP->current_line; +Index: netpbm-10.85.0/converter/pbm/pbmtoppa/pbmtoppa.c =================================================================== ---- netpbm-10.83.2.orig/converter/pbm/pbmtoppa/pbmtoppa.c -+++ netpbm-10.83.2/converter/pbm/pbmtoppa/pbmtoppa.c +--- netpbm-10.85.0.orig/converter/pbm/pbmtoppa/pbmtoppa.c 2018-12-31 16:41:13.966151603 +0100 ++++ netpbm-10.85.0/converter/pbm/pbmtoppa/pbmtoppa.c 2018-12-31 17:29:41.772094480 +0100 @@ -453,6 +453,7 @@ main(int argc, char *argv[]) { pm_error("main(): unrecognized parameter '%s'", argv[argn]); } @@ -372,10 +371,10 @@ Index: netpbm-10.83.2/converter/pbm/pbmtoppa/pbmtoppa.c Pwidth=(Width+7)/8; printer.fptr=out; -Index: netpbm-10.83.2/converter/pbm/pbmtoxbm.c +Index: netpbm-10.85.0/converter/pbm/pbmtoxbm.c =================================================================== ---- netpbm-10.83.2.orig/converter/pbm/pbmtoxbm.c -+++ netpbm-10.83.2/converter/pbm/pbmtoxbm.c +--- netpbm-10.85.0.orig/converter/pbm/pbmtoxbm.c 2018-12-31 16:41:13.154147692 +0100 ++++ netpbm-10.85.0/converter/pbm/pbmtoxbm.c 2018-12-31 17:29:41.772094480 +0100 @@ -352,6 +352,8 @@ convertRaster(FILE * const ifP, unsigned char * bitrow; @@ -385,10 +384,10 @@ Index: netpbm-10.83.2/converter/pbm/pbmtoxbm.c putinit(xbmVersion); -Index: netpbm-10.83.2/converter/pbm/pbmto4425.c +Index: netpbm-10.85.0/converter/pbm/pbmto4425.c =================================================================== ---- netpbm-10.83.2.orig/converter/pbm/pbmto4425.c -+++ netpbm-10.83.2/converter/pbm/pbmto4425.c +--- netpbm-10.85.0.orig/converter/pbm/pbmto4425.c 2018-12-31 16:41:13.166147749 +0100 ++++ netpbm-10.85.0/converter/pbm/pbmto4425.c 2018-12-31 17:29:41.772094480 +0100 @@ -2,6 +2,7 @@ #include "nstring.h" @@ -406,10 +405,10 @@ Index: netpbm-10.83.2/converter/pbm/pbmto4425.c if(vmap == NULL) { pm_error( "Cannot allocate memory" ); -Index: netpbm-10.83.2/converter/pbm/pktopbm.c +Index: netpbm-10.85.0/converter/pbm/pktopbm.c =================================================================== ---- netpbm-10.83.2.orig/converter/pbm/pktopbm.c -+++ netpbm-10.83.2/converter/pbm/pktopbm.c +--- netpbm-10.85.0.orig/converter/pbm/pktopbm.c 2018-12-31 16:41:13.162147730 +0100 ++++ netpbm-10.85.0/converter/pbm/pktopbm.c 2018-12-31 17:29:41.772094480 +0100 @@ -280,6 +280,7 @@ main(int argc, char *argv[]) { if (flagbyte == 7) { /* long form preamble */ integer packetlength = get32() ; /* character packet length */ @@ -418,10 +417,10 @@ Index: netpbm-10.83.2/converter/pbm/pktopbm.c endofpacket = packetlength + pktopbm_pkloc; /* calculate end of packet */ if ((car >= MAXPKCHAR) || !filename[car]) { -Index: netpbm-10.83.2/converter/pbm/thinkjettopbm.l +Index: netpbm-10.85.0/converter/pbm/thinkjettopbm.l =================================================================== ---- netpbm-10.83.2.orig/converter/pbm/thinkjettopbm.l -+++ netpbm-10.83.2/converter/pbm/thinkjettopbm.l +--- netpbm-10.85.0.orig/converter/pbm/thinkjettopbm.l 2018-12-31 16:41:16.070161727 +0100 ++++ netpbm-10.85.0/converter/pbm/thinkjettopbm.l 2018-12-31 17:29:41.772094480 +0100 @@ -114,7 +114,9 @@ DIG [0-9] \033\*b{DIG}+W { int l; @@ -441,10 +440,10 @@ Index: netpbm-10.83.2/converter/pbm/thinkjettopbm.l pbm_writepbminit(stdout, maxRowLength*8, rowCount, 0); packed_bitrow = malloc(maxRowLength); -Index: netpbm-10.83.2/converter/pgm/lispmtopgm.c +Index: netpbm-10.85.0/converter/pgm/lispmtopgm.c =================================================================== ---- netpbm-10.83.2.orig/converter/pgm/lispmtopgm.c -+++ netpbm-10.83.2/converter/pgm/lispmtopgm.c +--- netpbm-10.85.0.orig/converter/pgm/lispmtopgm.c 2018-12-31 16:41:16.594164249 +0100 ++++ netpbm-10.85.0/converter/pgm/lispmtopgm.c 2018-12-31 17:29:41.772094480 +0100 @@ -58,6 +58,7 @@ main( argc, argv ) pm_error( "depth (%d bits) is too large", depth); @@ -464,10 +463,10 @@ Index: netpbm-10.83.2/converter/pgm/lispmtopgm.c *padrightP = ( ( *colsP + 31 ) / 32 ) * 32 - *colsP; if ( *colsP != (cols_32 - *padrightP) ) { -Index: netpbm-10.83.2/converter/pgm/psidtopgm.c +Index: netpbm-10.85.0/converter/pgm/psidtopgm.c =================================================================== ---- netpbm-10.83.2.orig/converter/pgm/psidtopgm.c -+++ netpbm-10.83.2/converter/pgm/psidtopgm.c +--- netpbm-10.85.0.orig/converter/pgm/psidtopgm.c 2018-12-31 16:41:13.966151603 +0100 ++++ netpbm-10.85.0/converter/pgm/psidtopgm.c 2018-12-31 17:29:41.772094480 +0100 @@ -78,6 +78,7 @@ main(int argc, pm_error("bits/sample (%d) is too large.", bitspersample); @@ -476,10 +475,10 @@ Index: netpbm-10.83.2/converter/pgm/psidtopgm.c grayrow = pgm_allocrow((cols + 7) / 8 * 8); for (row = 0; row < rows; ++row) { unsigned int col; -Index: netpbm-10.83.2/converter/ppm/ilbmtoppm.c +Index: netpbm-10.85.0/converter/ppm/ilbmtoppm.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/ilbmtoppm.c -+++ netpbm-10.83.2/converter/ppm/ilbmtoppm.c +--- netpbm-10.85.0.orig/converter/ppm/ilbmtoppm.c 2018-12-31 16:41:25.198205662 +0100 ++++ netpbm-10.85.0/converter/ppm/ilbmtoppm.c 2018-12-31 17:29:41.772094480 +0100 @@ -608,6 +608,7 @@ decode_row(FILE * const ifP, rawtype *chp; @@ -551,10 +550,10 @@ Index: netpbm-10.83.2/converter/ppm/ilbmtoppm.c MALLOCARRAY_NOFAIL(ilbmrow, RowBytes(bmhdP->w)); *viewportmodesP |= fakeviewport; /* -isham/-isehb */ -Index: netpbm-10.83.2/converter/ppm/imgtoppm.c +Index: netpbm-10.85.0/converter/ppm/imgtoppm.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/imgtoppm.c -+++ netpbm-10.83.2/converter/ppm/imgtoppm.c +--- netpbm-10.85.0.orig/converter/ppm/imgtoppm.c 2018-12-31 16:41:29.058224241 +0100 ++++ netpbm-10.85.0/converter/ppm/imgtoppm.c 2018-12-31 17:29:41.772094480 +0100 @@ -84,6 +84,7 @@ main(int argc, char ** argv) { len = atoi((char*) buf ); if ( fread( buf, len, 1, ifp ) != 1 ) @@ -571,10 +570,10 @@ Index: netpbm-10.83.2/converter/ppm/imgtoppm.c if ( len != cols * rows ) pm_message( "pixel data length (%d) does not match image size (%d)", -Index: netpbm-10.83.2/converter/ppm/Makefile +Index: netpbm-10.85.0/converter/ppm/Makefile =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/Makefile -+++ netpbm-10.83.2/converter/ppm/Makefile +--- netpbm-10.85.0.orig/converter/ppm/Makefile 2018-12-31 16:41:25.782208471 +0100 ++++ netpbm-10.85.0/converter/ppm/Makefile 2018-12-31 17:29:41.772094480 +0100 @@ -11,7 +11,7 @@ SUBDIRS = hpcdtoppm ppmtompeg PORTBINARIES = 411toppm eyuvtoppm gouldtoppm ilbmtoppm imgtoppm \ @@ -584,10 +583,10 @@ Index: netpbm-10.83.2/converter/ppm/Makefile ppmtoacad ppmtoapplevol ppmtoarbtxt ppmtoascii \ ppmtobmp ppmtoeyuv ppmtogif ppmtoicr ppmtoilbm \ ppmtoleaf ppmtolj ppmtomitsu ppmtoneo \ -Index: netpbm-10.83.2/converter/ppm/pcxtoppm.c +Index: netpbm-10.85.0/converter/ppm/pcxtoppm.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/pcxtoppm.c -+++ netpbm-10.83.2/converter/ppm/pcxtoppm.c +--- netpbm-10.85.0.orig/converter/ppm/pcxtoppm.c 2018-12-31 16:41:29.062224260 +0100 ++++ netpbm-10.85.0/converter/ppm/pcxtoppm.c 2018-12-31 17:29:41.772094480 +0100 @@ -409,6 +409,7 @@ pcx_planes_to_pixels(pixels, bitplanes, /* * clear the pixel buffer @@ -604,73 +603,70 @@ Index: netpbm-10.83.2/converter/ppm/pcxtoppm.c rawcols = BytesPerLine * 8 / BitsPerPixel; if (headerCols > rawcols) { pm_message("warning - BytesPerLine = %d, " -Index: netpbm-10.83.2/converter/ppm/picttoppm.c +Index: netpbm-10.85.0/converter/ppm/picttoppm.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/picttoppm.c -+++ netpbm-10.83.2/converter/ppm/picttoppm.c +--- netpbm-10.85.0.orig/converter/ppm/picttoppm.c 2018-12-31 16:41:13.970151622 +0100 ++++ netpbm-10.85.0/converter/ppm/picttoppm.c 2018-12-31 17:29:41.772094480 +0100 @@ -1,3 +1,5 @@ +#error "Unfixable. Don't ship me" + /* * picttoppm.c -- convert a MacIntosh PICT file to PPM format. * -Index: netpbm-10.83.2/converter/ppm/pjtoppm.c +Index: netpbm-10.85.0/converter/ppm/pjtoppm.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/pjtoppm.c -+++ netpbm-10.83.2/converter/ppm/pjtoppm.c -@@ -127,19 +127,21 @@ main(argc, argv) +--- netpbm-10.85.0.orig/converter/ppm/pjtoppm.c 2018-12-31 16:41:13.970151622 +0100 ++++ netpbm-10.85.0/converter/ppm/pjtoppm.c 2018-12-31 17:41:03.351356948 +0100 +@@ -149,14 +149,20 @@ main(int argc, const char ** argv) { case 'V': /* send plane */ case 'W': /* send last plane */ - if (rows == -1 || r >= rows || image == NULL) { -- if (rows == -1 || r >= rows) -+ if (rows == -1 || r >= rows) { + if (rows == -1 || row >= rows || image == NULL) { +- if (rows == -1 || row >= rows) ++ if (rows == -1 || row >= rows) { + overflow_add(rows, 100); rows += 100; + } if (image == NULL) { -- MALLOCARRAY(image, rows * planes); -- MALLOCARRAY(imlen, rows * planes); -+ image = (unsigned char **) +- MALLOCARRAY(image, uintProduct(rows, planes)); +- MALLOCARRAY(imlen, uintProduct(rows, planes)); ++ image = (unsigned char **) + malloc3(rows , planes , sizeof(unsigned char *)); + imlen = (int *) malloc3(rows , planes, sizeof(int)); - } - else { + } else { +- REALLOCARRAY(image, uintProduct(rows, planes)); +- REALLOCARRAY(imlen, uintProduct(rows, planes)); + overflow2(rows,planes); - image = (unsigned char **) -- realloc(image, -- rows * planes * ++ image = (unsigned char **) + realloc2(image, rows * planes, - sizeof(unsigned char *)); -- imlen = (int *) -- realloc(imlen, rows * planes * sizeof(int)); ++ sizeof(unsigned char *)); + imlen = (int *) realloc2(imlen, rows * planes, sizeof(int)); } } if (image == NULL || imlen == NULL) -@@ -212,8 +214,10 @@ main(argc, argv) - for (i = 0, c = 0; c < imlen[p + r * planes]; c += 2) - for (cmd = image[p + r * planes][c], - val = image[p + r * planes][c+1]; -- cmd >= 0 && i < newcols; cmd--, i++) +@@ -235,8 +241,10 @@ main(int argc, const char ** argv) { + col += 2) + for (cmd = image[plane + row * planes][col], + val = image[plane + row * planes][col+1]; +- cmd >= 0 && i < newcols; cmd--, i++) + cmd >= 0 && i < newcols; cmd--, i++) { buf[i] = val; + overflow_add(i, 1); + } - cols = cols > i ? cols : i; - free(image[p + r * planes]); - /* -@@ -224,6 +228,7 @@ main(argc, argv) - image[p + r * planes] = (unsigned char *) realloc(buf, i); + cols = MAX(cols, i); + free(image[plane + row * planes]); + /* +@@ -247,6 +255,7 @@ main(int argc, const char ** argv) { + image[plane + row * planes] = realloc(buf, i); } } + overflow2(cols, 8); cols *= 8; } - -Index: netpbm-10.83.2/converter/ppm/ppmtoeyuv.c + +Index: netpbm-10.85.0/converter/ppm/ppmtoeyuv.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/ppmtoeyuv.c -+++ netpbm-10.83.2/converter/ppm/ppmtoeyuv.c +--- netpbm-10.85.0.orig/converter/ppm/ppmtoeyuv.c 2018-12-31 16:41:26.834213535 +0100 ++++ netpbm-10.85.0/converter/ppm/ppmtoeyuv.c 2018-12-31 17:29:41.772094480 +0100 @@ -114,6 +114,7 @@ create_multiplication_tables(const pixva int index; @@ -679,10 +675,10 @@ Index: netpbm-10.83.2/converter/ppm/ppmtoeyuv.c MALLOCARRAY_NOFAIL(mult299 , maxval+1); MALLOCARRAY_NOFAIL(mult587 , maxval+1); MALLOCARRAY_NOFAIL(mult114 , maxval+1); -Index: netpbm-10.83.2/converter/ppm/ppmtoilbm.c +Index: netpbm-10.85.0/converter/ppm/ppmtoilbm.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/ppmtoilbm.c -+++ netpbm-10.83.2/converter/ppm/ppmtoilbm.c +--- netpbm-10.85.0.orig/converter/ppm/ppmtoilbm.c 2018-12-31 16:41:29.062224260 +0100 ++++ netpbm-10.85.0/converter/ppm/ppmtoilbm.c 2018-12-31 17:29:41.772094480 +0100 @@ -190,6 +190,7 @@ makeValTable(int const oldmaxval, unsigned int i; int * table; @@ -719,10 +715,10 @@ Index: netpbm-10.83.2/converter/ppm/ppmtoilbm.c } switch (mode) { -Index: netpbm-10.83.2/converter/ppm/ppmtolj.c +Index: netpbm-10.85.0/converter/ppm/ppmtolj.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/ppmtolj.c -+++ netpbm-10.83.2/converter/ppm/ppmtolj.c +--- netpbm-10.85.0.orig/converter/ppm/ppmtolj.c 2018-12-31 16:41:29.054224222 +0100 ++++ netpbm-10.85.0/converter/ppm/ppmtolj.c 2018-12-31 17:29:41.772094480 +0100 @@ -181,7 +181,8 @@ int main(int argc, char *argv[]) { ppm_readppminit( ifp, &cols, &rows, &maxval, &format ); @@ -733,10 +729,10 @@ Index: netpbm-10.83.2/converter/ppm/ppmtolj.c 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) -Index: netpbm-10.83.2/converter/ppm/ppmtomitsu.c +Index: netpbm-10.85.0/converter/ppm/ppmtomitsu.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/ppmtomitsu.c -+++ netpbm-10.83.2/converter/ppm/ppmtomitsu.c +--- netpbm-10.85.0.orig/converter/ppm/ppmtomitsu.c 2018-12-31 16:41:16.062161689 +0100 ++++ netpbm-10.85.0/converter/ppm/ppmtomitsu.c 2018-12-31 17:29:41.772094480 +0100 @@ -685,6 +685,8 @@ main(int argc, char * argv[]) { medias = MSize_User; @@ -746,10 +742,10 @@ Index: netpbm-10.83.2/converter/ppm/ppmtomitsu.c medias.maxcols *= 2; medias.maxrows *= 2; } -Index: netpbm-10.83.2/converter/ppm/ppmtopcx.c +Index: netpbm-10.85.0/converter/ppm/ppmtopcx.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/ppmtopcx.c -+++ netpbm-10.83.2/converter/ppm/ppmtopcx.c +--- netpbm-10.85.0.orig/converter/ppm/ppmtopcx.c 2018-12-31 16:41:25.782208471 +0100 ++++ netpbm-10.85.0/converter/ppm/ppmtopcx.c 2018-12-31 17:29:41.776094499 +0100 @@ -425,6 +425,8 @@ ppmTo16ColorPcx(pixel ** cons else Planes = 1; } @@ -759,10 +755,10 @@ Index: netpbm-10.83.2/converter/ppm/ppmtopcx.c BytesPerLine = ((cols * BitsPerPixel) + 7) / 8; MALLOCARRAY_NOFAIL(indexRow, cols); MALLOCARRAY_NOFAIL(planesrow, BytesPerLine); -Index: netpbm-10.83.2/converter/ppm/ppmtopict.c +Index: netpbm-10.85.0/converter/ppm/ppmtopict.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/ppmtopict.c -+++ netpbm-10.83.2/converter/ppm/ppmtopict.c +--- netpbm-10.85.0.orig/converter/ppm/ppmtopict.c 2018-12-31 16:41:25.782208471 +0100 ++++ netpbm-10.85.0/converter/ppm/ppmtopict.c 2018-12-31 17:29:41.776094499 +0100 @@ -450,6 +450,8 @@ main(int argc, const char ** argv) { putShort(stdout, 0); /* mode */ @@ -772,10 +768,10 @@ Index: netpbm-10.83.2/converter/ppm/ppmtopict.c outBuf = malloc((unsigned)(cols+cols/MAX_COUNT+1)); for (row = 0, oc = 0; row < rows; ++row) { unsigned int rowSize; -Index: netpbm-10.83.2/converter/ppm/ppmtopj.c +Index: netpbm-10.85.0/converter/ppm/ppmtopj.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/ppmtopj.c -+++ netpbm-10.83.2/converter/ppm/ppmtopj.c +--- netpbm-10.85.0.orig/converter/ppm/ppmtopj.c 2018-12-31 16:41:26.834213535 +0100 ++++ netpbm-10.85.0/converter/ppm/ppmtopj.c 2018-12-31 17:29:41.776094499 +0100 @@ -179,6 +179,7 @@ char *argv[]; pixels = ppm_readppm( ifp, &cols, &rows, &maxval ); @@ -784,10 +780,10 @@ Index: netpbm-10.83.2/converter/ppm/ppmtopj.c obuf = (unsigned char *) pm_allocrow(cols, sizeof(unsigned char)); cbuf = (unsigned char *) pm_allocrow(cols * 2, sizeof(unsigned char)); -Index: netpbm-10.83.2/converter/ppm/ppmtopjxl.c +Index: netpbm-10.85.0/converter/ppm/ppmtopjxl.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/ppmtopjxl.c -+++ netpbm-10.83.2/converter/ppm/ppmtopjxl.c +--- netpbm-10.85.0.orig/converter/ppm/ppmtopjxl.c 2018-12-31 16:41:25.782208471 +0100 ++++ netpbm-10.85.0/converter/ppm/ppmtopjxl.c 2018-12-31 17:29:41.776094499 +0100 @@ -266,6 +266,8 @@ main(int argc, const char * argv[]) { pm_error("image too large; reduce with ppmscale"); if (maxval > PCL_MAXVAL) @@ -820,10 +816,10 @@ Index: netpbm-10.83.2/converter/ppm/ppmtopjxl.c inrow = (char *)malloc((unsigned)bpp); outrow = (char *)malloc((unsigned)bpp*2); runcnt = (signed char *)malloc((unsigned)bpp); -Index: netpbm-10.83.2/converter/ppm/ppmtowinicon.c +Index: netpbm-10.85.0/converter/ppm/ppmtowinicon.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/ppmtowinicon.c -+++ netpbm-10.83.2/converter/ppm/ppmtowinicon.c +--- netpbm-10.85.0.orig/converter/ppm/ppmtowinicon.c 2018-12-31 16:41:25.782208471 +0100 ++++ netpbm-10.85.0/converter/ppm/ppmtowinicon.c 2018-12-31 17:29:41.776094499 +0100 @@ -12,6 +12,7 @@ #include @@ -867,10 +863,10 @@ Index: netpbm-10.83.2/converter/ppm/ppmtowinicon.c entry->size_in_bytes = xorBitmap->size + andBitmap->size + 40 + (4 * entry->color_count); if (verbose) -Index: netpbm-10.83.2/converter/ppm/ppmtoxpm.c +Index: netpbm-10.85.0/converter/ppm/ppmtoxpm.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/ppmtoxpm.c -+++ netpbm-10.83.2/converter/ppm/ppmtoxpm.c +--- netpbm-10.85.0.orig/converter/ppm/ppmtoxpm.c 2018-12-31 16:41:25.202205681 +0100 ++++ netpbm-10.85.0/converter/ppm/ppmtoxpm.c 2018-12-31 17:29:41.776094499 +0100 @@ -198,6 +198,7 @@ genNumstr(unsigned int const input, int unsigned int i; @@ -887,10 +883,10 @@ Index: netpbm-10.83.2/converter/ppm/ppmtoxpm.c MALLOCARRAY(cmap, cmapSize); if (cmapP == NULL) pm_error("Out of memory allocating %u bytes for a color map.", -Index: netpbm-10.83.2/converter/ppm/qrttoppm.c +Index: netpbm-10.85.0/converter/ppm/qrttoppm.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/qrttoppm.c -+++ netpbm-10.83.2/converter/ppm/qrttoppm.c +--- netpbm-10.85.0.orig/converter/ppm/qrttoppm.c 2018-12-31 16:41:26.838213555 +0100 ++++ netpbm-10.85.0/converter/ppm/qrttoppm.c 2018-12-31 17:29:41.776094499 +0100 @@ -46,7 +46,7 @@ main( argc, argv ) ppm_writeppminit( stdout, cols, rows, maxval, 0 ); @@ -900,10 +896,10 @@ Index: netpbm-10.83.2/converter/ppm/qrttoppm.c if ( buf == (unsigned char *) 0 ) pm_error( "out of memory" ); -Index: netpbm-10.83.2/converter/ppm/sldtoppm.c +Index: netpbm-10.85.0/converter/ppm/sldtoppm.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/sldtoppm.c -+++ netpbm-10.83.2/converter/ppm/sldtoppm.c +--- netpbm-10.85.0.orig/converter/ppm/sldtoppm.c 2018-12-31 16:41:29.058224241 +0100 ++++ netpbm-10.85.0/converter/ppm/sldtoppm.c 2018-12-31 17:29:41.776094499 +0100 @@ -506,6 +506,8 @@ slider(slvecfn slvec, /* Allocate image buffer and clear it to black. */ @@ -913,10 +909,10 @@ Index: netpbm-10.83.2/converter/ppm/sldtoppm.c pixels = ppm_allocarray(pixcols = ixdots + 1, pixrows = iydots + 1); PPM_ASSIGN(rgbcolor, 0, 0, 0); ppmd_filledrectangle(pixels, pixcols, pixrows, pixmaxval, 0, 0, -Index: netpbm-10.83.2/converter/ppm/ximtoppm.c +Index: netpbm-10.85.0/converter/ppm/ximtoppm.c =================================================================== ---- netpbm-10.83.2.orig/converter/ppm/ximtoppm.c -+++ netpbm-10.83.2/converter/ppm/ximtoppm.c +--- netpbm-10.85.0.orig/converter/ppm/ximtoppm.c 2018-12-31 16:41:25.782208471 +0100 ++++ netpbm-10.85.0/converter/ppm/ximtoppm.c 2018-12-31 17:29:41.776094499 +0100 @@ -118,6 +118,7 @@ ReadXimHeader(FILE * const in_fp, header->bits_channel = atoi(a_head.bits_per_channel); header->alpha_flag = atoi(a_head.alpha_channel); @@ -949,11 +945,11 @@ Index: netpbm-10.83.2/converter/ppm/ximtoppm.c header->colors = (Color *)calloc((unsigned int)header->ncolors, sizeof(Color)); if (header->colors == NULL) { -Index: netpbm-10.83.2/editor/pamcut.c +Index: netpbm-10.85.0/editor/pamcut.c =================================================================== ---- netpbm-10.83.2.orig/editor/pamcut.c -+++ netpbm-10.83.2/editor/pamcut.c -@@ -655,6 +655,8 @@ cutOneImage(FILE * const ifP +--- netpbm-10.85.0.orig/editor/pamcut.c 2018-12-31 16:41:29.750227570 +0100 ++++ netpbm-10.85.0/editor/pamcut.c 2018-12-31 17:29:41.776094499 +0100 +@@ -773,6 +773,8 @@ cutOneImage(FILE * const ifP outpam = inpam; /* Initial value -- most fields should be same */ outpam.file = ofP; @@ -962,10 +958,10 @@ Index: netpbm-10.83.2/editor/pamcut.c outpam.width = rightcol - leftcol + 1; outpam.height = bottomrow - toprow + 1; -Index: netpbm-10.83.2/editor/pbmreduce.c +Index: netpbm-10.85.0/editor/pbmreduce.c =================================================================== ---- netpbm-10.83.2.orig/editor/pbmreduce.c -+++ netpbm-10.83.2/editor/pbmreduce.c +--- netpbm-10.85.0.orig/editor/pbmreduce.c 2018-12-31 16:41:33.294244634 +0100 ++++ netpbm-10.85.0/editor/pbmreduce.c 2018-12-31 17:29:41.776094499 +0100 @@ -150,6 +150,7 @@ initializeFloydSteinberg(struct FS * co unsigned int col; @@ -974,10 +970,10 @@ Index: netpbm-10.83.2/editor/pbmreduce.c MALLOCARRAY(fsP->thiserr, newcols + 2); MALLOCARRAY(fsP->nexterr, newcols + 2); -Index: netpbm-10.83.2/editor/pnmgamma.c +Index: netpbm-10.85.0/editor/pnmgamma.c =================================================================== ---- netpbm-10.83.2.orig/editor/pnmgamma.c -+++ netpbm-10.83.2/editor/pnmgamma.c +--- netpbm-10.85.0.orig/editor/pnmgamma.c 2018-12-31 16:41:33.282244576 +0100 ++++ netpbm-10.85.0/editor/pnmgamma.c 2018-12-31 17:29:41.776094499 +0100 @@ -596,6 +596,7 @@ createGammaTables(enum transferFunction xelval ** const btableP) { @@ -986,10 +982,10 @@ Index: netpbm-10.83.2/editor/pnmgamma.c MALLOCARRAY(*rtableP, maxval+1); MALLOCARRAY(*gtableP, maxval+1); MALLOCARRAY(*btableP, maxval+1); -Index: netpbm-10.83.2/editor/pnmhisteq.c +Index: netpbm-10.85.0/editor/pnmhisteq.c =================================================================== ---- netpbm-10.83.2.orig/editor/pnmhisteq.c -+++ netpbm-10.83.2/editor/pnmhisteq.c +--- netpbm-10.85.0.orig/editor/pnmhisteq.c 2018-12-31 16:41:29.066224279 +0100 ++++ netpbm-10.85.0/editor/pnmhisteq.c 2018-12-31 17:29:41.776094499 +0100 @@ -107,6 +107,7 @@ computeLuminosityHistogram(xel * const * unsigned int pixelCount; unsigned int * lumahist; @@ -998,10 +994,10 @@ Index: netpbm-10.83.2/editor/pnmhisteq.c MALLOCARRAY(lumahist, maxval + 1); if (lumahist == NULL) pm_error("Out of storage allocating array for %u histogram elements", -Index: netpbm-10.83.2/editor/pnmindex.csh +Index: netpbm-10.85.0/editor/pnmindex.csh =================================================================== ---- netpbm-10.83.2.orig/editor/pnmindex.csh -+++ netpbm-10.83.2/editor/pnmindex.csh +--- netpbm-10.85.0.orig/editor/pnmindex.csh 2018-12-31 17:29:41.756094404 +0100 ++++ netpbm-10.85.0/editor/pnmindex.csh 2018-12-31 17:29:41.776094499 +0100 @@ -1,5 +1,8 @@ #!/bin/csh -f # @@ -1011,10 +1007,10 @@ Index: netpbm-10.83.2/editor/pnmindex.csh # pnmindex - build a visual index of a bunch of anymaps # # Copyright (C) 1991 by Jef Poskanzer. -Index: netpbm-10.83.2/editor/pnmpad.c +Index: netpbm-10.85.0/editor/pnmpad.c =================================================================== ---- netpbm-10.83.2.orig/editor/pnmpad.c -+++ netpbm-10.83.2/editor/pnmpad.c +--- netpbm-10.85.0.orig/editor/pnmpad.c 2018-12-31 16:41:33.290244615 +0100 ++++ netpbm-10.85.0/editor/pnmpad.c 2018-12-31 17:29:41.776094499 +0100 @@ -634,6 +634,8 @@ main(int argc, const char ** argv) { computePadSizes(cmdline, cols, rows, &lpad, &rpad, &tpad, &bpad); @@ -1024,10 +1020,10 @@ Index: netpbm-10.83.2/editor/pnmpad.c newcols = cols + lpad + rpad; if (PNM_FORMAT_TYPE(format) == PBM_TYPE) -Index: netpbm-10.83.2/editor/pnmremap.c +Index: netpbm-10.85.0/editor/pnmremap.c =================================================================== ---- netpbm-10.83.2.orig/editor/pnmremap.c -+++ netpbm-10.83.2/editor/pnmremap.c +--- netpbm-10.85.0.orig/editor/pnmremap.c 2018-12-31 16:41:30.386230633 +0100 ++++ netpbm-10.85.0/editor/pnmremap.c 2018-12-31 17:29:41.776094499 +0100 @@ -467,7 +467,7 @@ fserr_init(struct pam * const pamP, unsigned int plane; @@ -1045,10 +1041,10 @@ Index: netpbm-10.83.2/editor/pnmremap.c for (col = 0; col < pamP->width + 2; ++col) { unsigned int plane; for (plane = 0; plane < pamP->depth; ++plane) -Index: netpbm-10.83.2/editor/pnmscalefixed.c +Index: netpbm-10.85.0/editor/pnmscalefixed.c =================================================================== ---- netpbm-10.83.2.orig/editor/pnmscalefixed.c -+++ netpbm-10.83.2/editor/pnmscalefixed.c +--- netpbm-10.85.0.orig/editor/pnmscalefixed.c 2018-12-31 16:41:33.294244634 +0100 ++++ netpbm-10.85.0/editor/pnmscalefixed.c 2018-12-31 17:29:41.776094499 +0100 @@ -214,6 +214,8 @@ compute_output_dimensions(const struct c const int rows, const int cols, int * newrowsP, int * newcolsP) { @@ -1077,10 +1073,10 @@ Index: netpbm-10.83.2/editor/pnmscalefixed.c sxscale = SCALE * newcols / cols; syscale = SCALE * newrows / rows; -Index: netpbm-10.83.2/editor/pnmshear.c +Index: netpbm-10.85.0/editor/pnmshear.c =================================================================== ---- netpbm-10.83.2.orig/editor/pnmshear.c -+++ netpbm-10.83.2/editor/pnmshear.c +--- netpbm-10.85.0.orig/editor/pnmshear.c 2018-12-31 16:41:30.382230614 +0100 ++++ netpbm-10.85.0/editor/pnmshear.c 2018-12-31 17:29:41.776094499 +0100 @@ -15,6 +15,7 @@ #include #include @@ -1101,10 +1097,10 @@ Index: netpbm-10.83.2/editor/pnmshear.c newcols = rows * shearfac + cols + 0.999999; pnm_writepnminit(stdout, newcols, rows, newmaxval, newformat, 0); -Index: netpbm-10.83.2/editor/ppmdither.c +Index: netpbm-10.85.0/editor/ppmdither.c =================================================================== ---- netpbm-10.83.2.orig/editor/ppmdither.c -+++ netpbm-10.83.2/editor/ppmdither.c +--- netpbm-10.85.0.orig/editor/ppmdither.c 2018-12-31 16:41:33.294244634 +0100 ++++ netpbm-10.85.0/editor/ppmdither.c 2018-12-31 17:29:41.776094499 +0100 @@ -355,7 +355,11 @@ dithMatrix(unsigned int const dithPower) unsigned int const dithMatSize = (dithDim * sizeof(*dithMat)) + /* pointers */ @@ -1118,10 +1114,10 @@ Index: netpbm-10.83.2/editor/ppmdither.c dithMat = malloc(dithMatSize); if (dithMat == NULL) -Index: netpbm-10.83.2/editor/specialty/pamoil.c +Index: netpbm-10.85.0/editor/specialty/pamoil.c =================================================================== ---- netpbm-10.83.2.orig/editor/specialty/pamoil.c -+++ netpbm-10.83.2/editor/specialty/pamoil.c +--- netpbm-10.85.0.orig/editor/specialty/pamoil.c 2018-12-31 16:41:29.070224298 +0100 ++++ netpbm-10.85.0/editor/specialty/pamoil.c 2018-12-31 17:29:41.776094499 +0100 @@ -112,6 +112,7 @@ main(int argc, char *argv[] ) { tuples = pnm_readpam(ifp, &inpam, PAM_STRUCT_SIZE(tuple_type)); pm_close(ifp); @@ -1130,11 +1126,11 @@ Index: netpbm-10.83.2/editor/specialty/pamoil.c MALLOCARRAY(hist, inpam.maxval + 1); if (hist == NULL) pm_error("Unable to allocate memory for histogram."); -Index: netpbm-10.83.2/generator/pbmtext.c +Index: netpbm-10.85.0/generator/pbmtext.c =================================================================== ---- netpbm-10.83.2.orig/generator/pbmtext.c -+++ netpbm-10.83.2/generator/pbmtext.c -@@ -1036,6 +1036,7 @@ getText(PM_WCHAR const cmdlineText +--- netpbm-10.85.0.orig/generator/pbmtext.c 2018-12-31 16:41:34.098248499 +0100 ++++ netpbm-10.85.0/generator/pbmtext.c 2018-12-31 17:29:41.776094499 +0100 +@@ -998,6 +998,7 @@ getText(PM_WCHAR const cmdlineText "Cannot process", lineCount, (unsigned int) MAXLINECHARS-1); if (lineCount >= maxlines) { @@ -1142,7 +1138,7 @@ Index: netpbm-10.83.2/generator/pbmtext.c maxlines *= 2; REALLOCARRAY(textArray, maxlines); if (textArray == NULL) -@@ -1075,6 +1076,7 @@ computeMargins(struct CmdlineInfo const +@@ -1038,6 +1039,7 @@ computeMargins(struct CmdlineInfo const *hmarginP = fontP->maxwidth; } else { *vmarginP = fontP->maxheight; @@ -1150,10 +1146,10 @@ Index: netpbm-10.83.2/generator/pbmtext.c *hmarginP = 2 * fontP->maxwidth; } } -Index: netpbm-10.83.2/generator/pgmkernel.c +Index: netpbm-10.85.0/generator/pgmkernel.c =================================================================== ---- netpbm-10.83.2.orig/generator/pgmkernel.c -+++ netpbm-10.83.2/generator/pgmkernel.c +--- netpbm-10.85.0.orig/generator/pgmkernel.c 2018-12-31 16:41:35.094253294 +0100 ++++ netpbm-10.85.0/generator/pgmkernel.c 2018-12-31 17:29:41.776094499 +0100 @@ -214,6 +214,7 @@ main(int argc, const char * argv[]) { /* Output matrix is symmetric vertically and horizontally. */ @@ -1162,10 +1158,10 @@ Index: netpbm-10.83.2/generator/pgmkernel.c arows = (cmdline.rows + 1) / 2; /* Half the number of rows. Add 1 if odd. */ halfKernel = pgm_allocarray(cmdline.cols, arows); -Index: netpbm-10.83.2/lib/libpammap.c +Index: netpbm-10.85.0/lib/libpammap.c =================================================================== ---- netpbm-10.83.2.orig/lib/libpammap.c -+++ netpbm-10.83.2/lib/libpammap.c +--- netpbm-10.85.0.orig/lib/libpammap.c 2018-12-31 16:41:36.582260453 +0100 ++++ netpbm-10.85.0/lib/libpammap.c 2018-12-31 17:29:41.776094499 +0100 @@ -108,6 +108,8 @@ allocTupleIntListItem(struct pam * const */ struct tupleint_list_item * retval; @@ -1175,10 +1171,10 @@ Index: netpbm-10.83.2/lib/libpammap.c unsigned int const size = sizeof(*retval) - sizeof(retval->tupleint.tuple) + pamP->depth * sizeof(sample); -Index: netpbm-10.83.2/lib/libpbm1.c +Index: netpbm-10.85.0/lib/libpbm1.c =================================================================== ---- netpbm-10.83.2.orig/lib/libpbm1.c -+++ netpbm-10.83.2/lib/libpbm1.c +--- netpbm-10.85.0.orig/lib/libpbm1.c 2018-12-31 16:41:38.570270023 +0100 ++++ netpbm-10.85.0/lib/libpbm1.c 2018-12-31 17:29:41.776094499 +0100 @@ -79,6 +79,7 @@ pbm_check(FILE * const fil } else { pm_filepos const bytesPerRow = (cols+7)/8; @@ -1187,10 +1183,10 @@ Index: netpbm-10.83.2/lib/libpbm1.c pm_check(fileP, checkType, needRasterSize, retvalP); } } -Index: netpbm-10.83.2/lib/libpm.c +Index: netpbm-10.85.0/lib/libpm.c =================================================================== ---- netpbm-10.83.2.orig/lib/libpm.c -+++ netpbm-10.83.2/lib/libpm.c +--- netpbm-10.85.0.orig/lib/libpm.c 2018-12-31 16:41:36.582260453 +0100 ++++ netpbm-10.85.0/lib/libpm.c 2018-12-31 17:29:41.776094499 +0100 @@ -889,4 +889,53 @@ pm_parse_height(const char * const arg) } @@ -1245,11 +1241,11 @@ Index: netpbm-10.83.2/lib/libpm.c + return realloc(a, b*c); +} -Index: netpbm-10.83.2/lib/pm.h +Index: netpbm-10.85.0/lib/pm.h =================================================================== ---- netpbm-10.83.2.orig/lib/pm.h -+++ netpbm-10.83.2/lib/pm.h -@@ -435,4 +435,11 @@ pm_parse_height(const char * const arg); +--- netpbm-10.85.0.orig/lib/pm.h 2018-12-31 16:41:34.098248499 +0100 ++++ netpbm-10.85.0/lib/pm.h 2018-12-31 17:29:41.776094499 +0100 +@@ -442,4 +442,11 @@ pm_parse_height(const char * const arg); #endif @@ -1261,22 +1257,22 @@ Index: netpbm-10.83.2/lib/pm.h +void overflow_add(int, int); + #endif -Index: netpbm-10.83.2/other/pnmcolormap.c +Index: netpbm-10.85.0/other/pnmcolormap.c =================================================================== ---- netpbm-10.83.2.orig/other/pnmcolormap.c -+++ netpbm-10.83.2/other/pnmcolormap.c +--- netpbm-10.85.0.orig/other/pnmcolormap.c 2018-12-31 16:41:39.922276528 +0100 ++++ netpbm-10.85.0/other/pnmcolormap.c 2018-12-31 17:42:33.107786588 +0100 @@ -840,6 +840,7 @@ colormapToSquare(struct pam * const pamP pamP->width = intsqrt; - else + else pamP->width = intsqrt + 1; + overflow_add(intsqrt, 1); } { unsigned int const intQuotient = colormap.size / pamP->width; -Index: netpbm-10.83.2/urt/README +Index: netpbm-10.85.0/urt/README =================================================================== ---- netpbm-10.83.2.orig/urt/README -+++ netpbm-10.83.2/urt/README +--- netpbm-10.85.0.orig/urt/README 2018-12-31 16:41:51.214330875 +0100 ++++ netpbm-10.85.0/urt/README 2018-12-31 17:29:41.780094518 +0100 @@ -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 @@ -1286,10 +1282,10 @@ Index: netpbm-10.83.2/urt/README +Removed pipe through and compress support (unsafe) + +Alan Cox -Index: netpbm-10.83.2/urt/rle_addhist.c +Index: netpbm-10.85.0/urt/rle_addhist.c =================================================================== ---- netpbm-10.83.2.orig/urt/rle_addhist.c -+++ netpbm-10.83.2/urt/rle_addhist.c +--- netpbm-10.85.0.orig/urt/rle_addhist.c 2018-12-31 16:41:51.214330875 +0100 ++++ netpbm-10.85.0/urt/rle_addhist.c 2018-12-31 17:29:41.780094518 +0100 @@ -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, @@ -1334,10 +1330,10 @@ Index: netpbm-10.83.2/urt/rle_addhist.c ++length; /*Cater for the null. */ MALLOCARRAY(newc, length); -Index: netpbm-10.83.2/urt/rle_getrow.c +Index: netpbm-10.85.0/urt/rle_getrow.c =================================================================== ---- netpbm-10.83.2.orig/urt/rle_getrow.c -+++ netpbm-10.83.2/urt/rle_getrow.c +--- netpbm-10.85.0.orig/urt/rle_getrow.c 2018-12-31 16:41:51.210330856 +0100 ++++ netpbm-10.85.0/urt/rle_getrow.c 2018-12-31 17:29:41.780094518 +0100 @@ -17,6 +17,8 @@ * * Modified at BRL 16-May-88 by Mike Muuss to avoid Alliant STDC desire @@ -1355,10 +1351,10 @@ Index: netpbm-10.83.2/urt/rle_getrow.c evenlen = (comlen + 1) & ~1; /* make it even */ if (evenlen) { MALLOCARRAY(comment_buf, evenlen); -Index: netpbm-10.83.2/urt/rle_hdr.c +Index: netpbm-10.85.0/urt/rle_hdr.c =================================================================== ---- netpbm-10.83.2.orig/urt/rle_hdr.c -+++ netpbm-10.83.2/urt/rle_hdr.c +--- netpbm-10.85.0.orig/urt/rle_hdr.c 2018-12-31 16:41:51.214330875 +0100 ++++ netpbm-10.85.0/urt/rle_hdr.c 2018-12-31 17:29:41.780094518 +0100 @@ -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, @@ -1425,10 +1421,10 @@ Index: netpbm-10.83.2/urt/rle_hdr.c size *= sizeof(char *); to_hdr->comments = (CONST_DECL char **)malloc( size ); RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->comments, "comments" ); -Index: netpbm-10.83.2/urt/rle.h +Index: netpbm-10.85.0/urt/rle.h =================================================================== ---- netpbm-10.83.2.orig/urt/rle.h -+++ netpbm-10.83.2/urt/rle.h +--- netpbm-10.85.0.orig/urt/rle.h 2018-12-31 16:41:51.214330875 +0100 ++++ netpbm-10.85.0/urt/rle.h 2018-12-31 17:29:41.780094518 +0100 @@ -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, @@ -1457,10 +1453,10 @@ Index: netpbm-10.83.2/urt/rle.h /* Declare RLE library routines. */ -Index: netpbm-10.83.2/urt/rle_open_f.c +Index: netpbm-10.85.0/urt/rle_open_f.c =================================================================== ---- netpbm-10.83.2.orig/urt/rle_open_f.c -+++ netpbm-10.83.2/urt/rle_open_f.c +--- netpbm-10.85.0.orig/urt/rle_open_f.c 2018-12-31 16:41:51.210330856 +0100 ++++ netpbm-10.85.0/urt/rle_open_f.c 2018-12-31 17:29:41.780094518 +0100 @@ -163,65 +163,7 @@ dealWithSubprocess(const char * const f FILE ** const fpP, bool * const noSubprocessP, @@ -1527,10 +1523,10 @@ Index: netpbm-10.83.2/urt/rle_open_f.c } -Index: netpbm-10.83.2/urt/rle_putcom.c +Index: netpbm-10.85.0/urt/rle_putcom.c =================================================================== ---- netpbm-10.83.2.orig/urt/rle_putcom.c -+++ netpbm-10.83.2/urt/rle_putcom.c +--- netpbm-10.85.0.orig/urt/rle_putcom.c 2018-12-31 16:41:51.214330875 +0100 ++++ netpbm-10.85.0/urt/rle_putcom.c 2018-12-31 17:29:41.780094518 +0100 @@ -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, @@ -1556,10 +1552,10 @@ Index: netpbm-10.83.2/urt/rle_putcom.c /* Not found */ /* Can't realloc because somebody else might be pointing to this * comments block. Of course, if this were true, then the -Index: netpbm-10.83.2/urt/Runput.c +Index: netpbm-10.85.0/urt/Runput.c =================================================================== ---- netpbm-10.83.2.orig/urt/Runput.c -+++ netpbm-10.83.2/urt/Runput.c +--- netpbm-10.85.0.orig/urt/Runput.c 2018-12-31 16:41:51.214330875 +0100 ++++ netpbm-10.85.0/urt/Runput.c 2018-12-31 17:29:41.780094518 +0100 @@ -17,6 +17,8 @@ * * Modified at BRL 16-May-88 by Mike Muuss to avoid Alliant STDC desire @@ -1592,10 +1588,10 @@ Index: netpbm-10.83.2/urt/Runput.c if ( h_cmap == NULL ) { fprintf( stderr, -Index: netpbm-10.83.2/urt/scanargs.c +Index: netpbm-10.85.0/urt/scanargs.c =================================================================== ---- netpbm-10.83.2.orig/urt/scanargs.c -+++ netpbm-10.83.2/urt/scanargs.c +--- netpbm-10.85.0.orig/urt/scanargs.c 2018-12-31 16:41:51.210330856 +0100 ++++ netpbm-10.85.0/urt/scanargs.c 2018-12-31 17:29:41.780094518 +0100 @@ -38,6 +38,8 @@ * * Modified at BRL 16-May-88 by Mike Muuss to avoid Alliant STDC desire @@ -1616,10 +1612,10 @@ Index: netpbm-10.83.2/urt/scanargs.c static CONST_DECL char * prformat( CONST_DECL char *, int ); static int isnum( CONST_DECL char *, int, int ); -Index: netpbm-10.83.2/lib/libpam.c +Index: netpbm-10.85.0/lib/libpam.c =================================================================== ---- netpbm-10.83.2.orig/lib/libpam.c -+++ netpbm-10.83.2/lib/libpam.c +--- netpbm-10.85.0.orig/lib/libpam.c 2018-12-31 16:41:35.094253294 +0100 ++++ netpbm-10.85.0/lib/libpam.c 2018-12-31 17:29:41.780094518 +0100 @@ -225,7 +225,8 @@ allocPamRow(const struct pam * const pam unsigned int const bytesPerTuple = allocationDepth(pamP) * sizeof(sample); tuple * tuplerow; diff --git a/netpbm.changes b/netpbm.changes index 3bed840..ba5f5d7 100644 --- a/netpbm.changes +++ b/netpbm.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Mon Dec 31 17:12:02 UTC 2018 - Petr Gajdos + +- updated to 10.85.00 + * pnmpaste: Add -nand, -nor, and -nxor. + * pamcut: add -cropleft, -cropright, -croptop, -cropbottom. + * ppmtobmp: respect -bpp with PBM input. + * bmptopnm: allow single color colormap with bpp 1. + * bmptopnm: validate plane count = 1. + * bmptopnm: Add RLE4 compression decoding. This was ostensibly + added in Netpbm 10.32 (February 2006), but never worked. + * Add pammixmulti. Thanks Scott Pakin (scott+pbm@pakin.org). + * pamtotga: Add -cmap16 . + * pamtris: Add -rgb, -grayscale. Add w parameter to vertex + instructions. Fix perspective correctness. Thanks Lucas Brunno + Luna . + * picttoppm: accept rectangle specifications in input that have + the corners in any order, not just upper left, then lower right. + * pamtotga: identify compressed colormapped format in error + message saying the program doesn't know how to interpret it. + * pamtotga: Ignore extra planes in black and white or grayscale + input instead of generating junk output. + * bmptopnm: Fix wrong output for non-colormapped OS2 BMP. Broken + in Netpbm 10.18 (September 2003). + * bmptopnm: Fix array bounds violation when index value in raster + is too big. Broken after Netpbm 10.11 (October 2002) but before + 10.19 (November 2003). +- modified patches + * netpbm-gcc-warnings.patch + * netpbm-security-code.patch + ------------------------------------------------------------------- Tue Oct 23 10:39:59 UTC 2018 - Petr Gajdos diff --git a/netpbm.spec b/netpbm.spec index 21822a7..a3bc215 100644 --- a/netpbm.spec +++ b/netpbm.spec @@ -12,15 +12,15 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define libmaj 11 -%define libmin 84 +%define libmin 85 %define libver %{libmaj}.%{libmin} Name: netpbm -Version: 10.84.2 +Version: 10.85.0 Release: 0 Summary: A Powerful Graphics Conversion Package License: BSD-3-Clause AND GPL-2.0-or-later AND IJG AND MIT AND SUSE-Public-Domain From 03b981cf1a2bf0672a558e1b660261488bd9a1f0e4614363b267179f5064adce Mon Sep 17 00:00:00 2001 From: Petr Gajdos Date: Wed, 2 Jan 2019 07:12:27 +0000 Subject: [PATCH 2/2] Accepting request 662222 from home:jengelh:branches:graphics - Trim filler wording from descriptions. OBS-URL: https://build.opensuse.org/request/show/662222 OBS-URL: https://build.opensuse.org/package/show/graphics/netpbm?expand=0&rev=98 --- netpbm.changes | 5 +++++ netpbm.spec | 23 ++++++++++++----------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/netpbm.changes b/netpbm.changes index ba5f5d7..0941841 100644 --- a/netpbm.changes +++ b/netpbm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 31 22:08:29 UTC 2018 - Jan Engelhardt + +- Trim filler wording from descriptions. + ------------------------------------------------------------------- Mon Dec 31 17:12:02 UTC 2018 - Petr Gajdos diff --git a/netpbm.spec b/netpbm.spec index a3bc215..b955387 100644 --- a/netpbm.spec +++ b/netpbm.spec @@ -22,7 +22,7 @@ Name: netpbm Version: 10.85.0 Release: 0 -Summary: A Powerful Graphics Conversion Package +Summary: A Graphics Conversion Package License: BSD-3-Clause AND GPL-2.0-or-later AND IJG AND MIT AND SUSE-Public-Domain Group: Productivity/Graphics/Convertors Url: http://netpbm.sourceforge.net/ @@ -50,15 +50,16 @@ BuildRequires: pkgconfig(x11) Provides: pbmplus %description -The latest version of the Portable Bitmap Plus Utilities. This large -package, which is by now available for all hardware platforms, provides -tools for graphics conversion. Using these tools, images can be -converted from virtually any format into any other format. A few of the -supported formats include: GIF, PC-Paintbrush, IFF ILBM, Gould Scanner -file, MTV ray tracer, Atari Degas .pi1 and .pi3, Macintosh PICT, HP -Paintjet file, QRT raytracer, AUTOCAD slide, Atari Spectrum (compressed -and uncompressed), Andrew Toolkit raster object, and many more. On top -of that, man pages are included for all tools. +These are the Portable Bitmap Plus Utilities. + +This package provides tools for graphics conversion. Using these +tools, images can be converted from virtually any format into any +other format. A few of the supported formats include: GIF, +PC-Paintbrush, IFF ILBM, Gould Scanner file, MTV ray tracer, Atari +Degas .pi1 and .pi3, Macintosh PICT, HP Paintjet file, QRT raytracer, +AUTOCAD slide, Atari Spectrum (compressed and uncompressed), Andrew +Toolkit raster object, and many more. On top of that, man pages are +included for all tools. %package -n libnetpbm%{libmaj} Summary: Libraries for the NetPBM (NetPortableBitmap) Graphic Formats @@ -72,7 +73,7 @@ found in the netpbm package. The sources are contained in the netpbm source package. %package -n libnetpbm-devel -Summary: Libraries for the NetPBM Graphic Formats - files mandatory for development +Summary: Header files for the NetPBM libraries Group: Development/Libraries/C and C++ Requires: libnetpbm%{libmaj} = %{version}