From 96b586a5582b906659080e73294588e03eeab00a Mon Sep 17 00:00:00 2001 From: giraffedata Date: Mon, 9 May 2016 05:11:22 +0000 Subject: Release 10.73.01 git-svn-id: http://svn.code.sf.net/p/netpbm/code/stable@2773 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- analyzer/ppmhist.c | 2 +- converter/other/Makefile | 2 +- converter/other/bmptopnm.c | 8 +++++++- converter/other/cameratopam/identify.c | 2 +- doc/HISTORY | 19 +++++++++++++++++++ editor/Makefile | 2 +- editor/pbmreduce.c | 3 +++ editor/pnmpaste.c | 6 +++--- version.mk | 2 +- 9 files changed, 37 insertions(+), 9 deletions(-) diff --git a/analyzer/ppmhist.c b/analyzer/ppmhist.c index cc47bb82..9b526606 100644 --- a/analyzer/ppmhist.c +++ b/analyzer/ppmhist.c @@ -322,7 +322,7 @@ colornameLabel(pixel const color, PPM_DEPTH(color255, color, maxval, 255); - colorIndex = ppm_findclosestcolor(dictColors, nDictColor, &color); + colorIndex = ppm_findclosestcolor(dictColors, nDictColor, &color255); assert(colorIndex >= 0 && colorIndex < nDictColor); diff --git a/converter/other/Makefile b/converter/other/Makefile index f51a780b..6a3d14ed 100644 --- a/converter/other/Makefile +++ b/converter/other/Makefile @@ -254,7 +254,7 @@ install.bin.local: $(PKGDIR)/bin # Remember that $(SYMLINK) might just be a copy command. # backward compatibility: program used to be named pnmnoraw cd $(PKGDIR)/bin ; \ - $(SYMLINK) pnmtoplainpnm pnmnoraw + $(SYMLINK) pnmtoplainpnm$(EXE) pnmnoraw$(EXE) # backward compatibility: program used to be gemtopbm cd $(PKGDIR)/bin ; \ $(SYMLINK) gemtopnm$(EXE) gemtopbm$(EXE) diff --git a/converter/other/bmptopnm.c b/converter/other/bmptopnm.c index a069092f..bb49f4a4 100644 --- a/converter/other/bmptopnm.c +++ b/converter/other/bmptopnm.c @@ -623,9 +623,15 @@ bmpReadinfoheader(FILE * const ifP, readOs2InfoHeader(ifP, headerP); break; case 40: + readWindowsInfoHeader(ifP, cInfoHeaderSize, headerP); + break; case 108: + pm_error("%s: this is a Version 4 Windows BMP; " + "this program knows only Version 1"); + break; case 124: - readWindowsInfoHeader(ifP, cInfoHeaderSize, headerP); + pm_error("%s: this is a Version 5 Windows BMP; " + "this program knows only Version 1"); break; default: pm_error("%s: unknown Info Header size: %u bytes", diff --git a/converter/other/cameratopam/identify.c b/converter/other/cameratopam/identify.c index 394ba0a7..02208be6 100644 --- a/converter/other/cameratopam/identify.c +++ b/converter/other/cameratopam/identify.c @@ -250,7 +250,7 @@ adobeCoeff(const char * const make, if (strneq(name, entryP->prefix, strlen(entryP->prefix))) { unsigned int j; for (j = 0; j < 12; ++j) - cm[j/4][j%4] = entryP->trans[j]; + cm[j/3][j%3] = entryP->trans[j]; dng_coeff(cc, cm, xyz); break; diff --git a/doc/HISTORY b/doc/HISTORY index b8a58b34..c66e0e48 100644 --- a/doc/HISTORY +++ b/doc/HISTORY @@ -4,6 +4,25 @@ Netpbm. CHANGE HISTORY -------------- +16.05.09 BJH Release 10.73.01 + + bmptopnm: fail properly with Version 4, 5 Windows BMP. + + ppmhist: fix incorrect color names. Introduced in + Netpbm 10.19 (November 2003). + + pnmpaste: fix possible invalid memory access. Introduced in + Netpbm 1.44 (September 2008). + + pbmreduce: fix undefined behavior when scale factor argument is + too big. Always present (pbmreduce was new in September 1989). + + cameratopam: fix invalid memory reference; effect unknown. + Introduced in Netpbm 10.68 (September 2014). + + Install on Windows: fix backward compatibility symlinks for + pnmtoplainpnm, pnmquantall. + 15.12.26 BJH Release 10.73.00 anytopnm: use --mime-type option instead of --mime on newer diff --git a/editor/Makefile b/editor/Makefile index c163f220..39329f00 100644 --- a/editor/Makefile +++ b/editor/Makefile @@ -93,7 +93,7 @@ install.bin.local: $(PKGDIR)/bin # In March 2012, pnmquantall replaced ppmquantall cd $(PKGDIR)/bin ; \ rm -f ppmquantall$(EXE) ; \ - $(SYMLINK) pnmquantall ppmquantall + $(SYMLINK) pnmquantall$(EXE) ppmquantall$(EXE) # In August 2014, pamcomp replaced pnmcomp cd $(PKGDIR)/bin ; \ rm -f pnmcomp$(EXE) ; \ diff --git a/editor/pbmreduce.c b/editor/pbmreduce.c index f49c8d9a..ee4a4fbd 100644 --- a/editor/pbmreduce.c +++ b/editor/pbmreduce.c @@ -10,6 +10,7 @@ ** implied warranty. */ +#include #include "pbm.h" #include "mallocvar.h" @@ -70,6 +71,8 @@ main( argc, argv ) pm_usage( usage ); if ( n < 2 ) pm_error( "N must be greater than 1" ); + if (n > INT_MAX / n) + pm_error("Scale argument too large. You specified %d", n); ++argn; if ( argn == argc ) diff --git a/editor/pnmpaste.c b/editor/pnmpaste.c index 1e29d933..c27e288c 100644 --- a/editor/pnmpaste.c +++ b/editor/pnmpaste.c @@ -201,8 +201,8 @@ insertShift(FILE * const ifP, Same as insertDirect(), but start merging 'offset' bits from the left end of 'destrow'. 'offset' is less than 8. - buffer[] is wide enough to hold a packed PBM row of *ifP plus one - byte of margin. + buffer[] is wide enough to hold a packed PBM row of *ifP plus two + bytes of margin. -----------------------------------------------------------------------------*/ unsigned int const shiftByteCt = pbm_packed_bytes(cols + offset); unsigned int const last = shiftByteCt - 1; @@ -268,7 +268,7 @@ pastePbm(FILE * const fpInset, Fast paste for PBM -----------------------------------------------------------------------------*/ unsigned char * const baserow = pbm_allocrow_packed(baseCols); - unsigned char * const buffer = pbm_allocrow_packed(insetCols+8); + unsigned char * const buffer = pbm_allocrow_packed(insetCols+16); unsigned int const shiftByteCt = insertCol / 8; unsigned int const shiftOffset = insertCol % 8; unsigned int const baseColByteCt = pbm_packed_bytes(baseCols); diff --git a/version.mk b/version.mk index 993a953c..a80bd20c 100644 --- a/version.mk +++ b/version.mk @@ -1,3 +1,3 @@ NETPBM_MAJOR_RELEASE = 10 NETPBM_MINOR_RELEASE = 73 -NETPBM_POINT_RELEASE = 00 +NETPBM_POINT_RELEASE = 1 -- cgit 1.4.1