diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2017-07-08 22:19:27 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2017-07-08 22:19:27 +0000 |
commit | b800e9a1a113aaa93303d2a74d86bd428baa36d9 (patch) | |
tree | 64566b20ede91c120baaeb49a6f69474b0ac7a9b | |
parent | 710d9dcfda44f6730a4678fb10da57a87464d8f4 (diff) | |
download | netpbm-mirror-b800e9a1a113aaa93303d2a74d86bd428baa36d9.tar.gz netpbm-mirror-b800e9a1a113aaa93303d2a74d86bd428baa36d9.tar.xz netpbm-mirror-b800e9a1a113aaa93303d2a74d86bd428baa36d9.zip |
Release 10.79.02
git-svn-id: http://svn.code.sf.net/p/netpbm/code/advanced@3029 9d0c8265-081b-0410-96cb-a4ca84ce46f8
-rw-r--r-- | doc/HISTORY | 9 | ||||
-rw-r--r-- | lib/libpamcolor.c | 15 | ||||
-rw-r--r-- | version.mk | 2 |
3 files changed, 19 insertions, 7 deletions
diff --git a/doc/HISTORY b/doc/HISTORY index af0aa993..93e4ee2e 100644 --- a/doc/HISTORY +++ b/doc/HISTORY @@ -4,7 +4,14 @@ Netpbm. CHANGE HISTORY -------------- -17.07.03 BJH Release 10.79.0-1 +17.07.08 BJH Release 10.79.02 + + libnetpbm: pnm_parsecolorn(), pnm_parsecolor(): fix parsing of + rgb: color specifications: yields value slightly too dim. + Affects many programs. Broken in Netpbm 10.79.00 about a week + ago. + +17.07.03 BJH Release 10.79.01 Fix 'format-security' GNU compiler warning. Introduced in Netpbm 10.79.00 a few days ago. diff --git a/lib/libpamcolor.c b/lib/libpamcolor.c index 120a82cf..336dcd6b 100644 --- a/lib/libpamcolor.c +++ b/lib/libpamcolor.c @@ -68,23 +68,28 @@ parseHexDigits(const char * const string, unsigned int digitCt; unsigned long n; - unsigned long maxval; + unsigned long range; + /* 16 for one hex digit, 256 for two hex digits, etc. */ - for (digitCt = 0, n = 0, maxval = 1; string[digitCt] != delim; ) { + for (digitCt = 0, n = 0, range = 1; string[digitCt] != delim; ) { char const digit = string[digitCt]; if (digit == '\0') - pm_error("rgb: color spec ends prematurely"); + pm_error("rgb: color spec '%s' ends prematurely", string); else { int const hexval = hexit[(unsigned int)digit]; if (hexval == -1) pm_error("Invalid hex digit in rgb: color spec: 0x%02x", digit); n = n * 16 + hexval; - maxval *= 16; + range *= 16; ++digitCt; } } - *nP = (samplen) n / maxval; + if (range <= 1) + pm_error("No digits where hexadecimal number expected in rgb: " + "color spec '%s'", string); + + *nP = (samplen) n / (range-1); *digitCtP = digitCt; } diff --git a/version.mk b/version.mk index 77ee2450..1c453e9c 100644 --- a/version.mk +++ b/version.mk @@ -1,3 +1,3 @@ NETPBM_MAJOR_RELEASE = 10 NETPBM_MINOR_RELEASE = 79 -NETPBM_POINT_RELEASE = 1 +NETPBM_POINT_RELEASE = 2 |