diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2016-08-13 01:39:59 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2016-08-13 01:39:59 +0000 |
commit | 278737f6381baa2bef0625899b6df7e10768a610 (patch) | |
tree | 304605892b0261a5076f1928bf76513ecf575a5d | |
parent | aab4792db8e0adcaf63cf57a1f5e0b18666dae47 (diff) | |
download | netpbm-mirror-278737f6381baa2bef0625899b6df7e10768a610.tar.gz netpbm-mirror-278737f6381baa2bef0625899b6df7e10768a610.tar.xz netpbm-mirror-278737f6381baa2bef0625899b6df7e10768a610.zip |
Release 10.75.01
git-svn-id: http://svn.code.sf.net/p/netpbm/code/advanced@2811 9d0c8265-081b-0410-96cb-a4ca84ce46f8
-rw-r--r-- | converter/other/giftopnm.c | 9 | ||||
-rw-r--r-- | doc/HISTORY | 6 | ||||
-rw-r--r-- | pm_config.in.h | 11 | ||||
-rw-r--r-- | version.mk | 2 |
4 files changed, 17 insertions, 11 deletions
diff --git a/converter/other/giftopnm.c b/converter/other/giftopnm.c index 2e6ae1d9..76cf4bff 100644 --- a/converter/other/giftopnm.c +++ b/converter/other/giftopnm.c @@ -24,6 +24,7 @@ #include <string.h> #include <assert.h> +#include "pm_config.h" #include "pm_c_util.h" #include "mallocvar.h" #include "nstring.h" @@ -39,12 +40,6 @@ #define MAX_LZW_BITS 12 -#if !defined(BYTE_ORDER) || !defined(LITTLE_ENDIAN) - /* make sure (BYTE_ORDER == LITTLE_ENDIAN) is FALSE */ - #define BYTE_ORDER 0 - #define LITTLE_ENDIAN 1 -#endif - #ifndef FASTPBMRENDER #define FASTPBMRENDER TRUE #endif @@ -684,7 +679,7 @@ bitsOfLeBuffer(const unsigned char * const buf, assert(len <= 16); - if (BYTE_ORDER == LITTLE_ENDIAN) + if (BYTE_ORDER == LITTLE_ENDIAN && UNALIGNED_OK) /* Fast path */ codeBlock = *(uint32_t *) & buf[start/8]; else diff --git a/doc/HISTORY b/doc/HISTORY index 6d43d7cb..97c7acb4 100644 --- a/doc/HISTORY +++ b/doc/HISTORY @@ -4,6 +4,12 @@ Netpbm. CHANGE HISTORY -------------- +16.08.13 BJH Release 10.75.01 + + giftopnm: Fix bug: crash on little-endian computers that can't + toleration unaligned memory access. Thanks Ignatios Souvatzis + (is@netbsd.org). Broken in Netpbm 10.47 (June 2009). + 16.06.26 BJH Release 10.75.00 pbmtextps: Add -leftmargin, -rightmargin, -topmargin, diff --git a/pm_config.in.h b/pm_config.in.h index 72cb477e..d156127e 100644 --- a/pm_config.in.h +++ b/pm_config.in.h @@ -257,12 +257,17 @@ /* UNALIGNED_OK means it's OK to do unaligned memory access, e.g. loading an 8-byte word from an address that is not a multiple of 8. On some systems, such an access causes a trap and a signal. + + This determination is conservative - There may be cases where unaligned + access is OK and we say here it isn't. + + We know unaligned access is _not_ OK on at least SPARC and some ARM. */ -#if defined(__sparc__) -# define UNALIGNED_OK 0 -#else +#if defined(__x86_64__) | defined(__i486__) | defined(__vax__) # define UNALIGNED_OK 1 +#else +# define UNALIGNED_OK 0 #endif diff --git a/version.mk b/version.mk index 319622cd..fc99db50 100644 --- a/version.mk +++ b/version.mk @@ -1,3 +1,3 @@ NETPBM_MAJOR_RELEASE = 10 NETPBM_MINOR_RELEASE = 75 -NETPBM_POINT_RELEASE = 0 +NETPBM_POINT_RELEASE = 1 |