diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2007-02-28 03:47:25 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2007-02-28 03:47:25 +0000 |
commit | 1afcbfb7de6fef5c052766f258bde74d845253df (patch) | |
tree | 19e9591a5f1f7e2804e08c4199e29ab2a2281f30 | |
parent | 84b03c4a38ade9c100ae40e9d5b3fabfceb59913 (diff) | |
download | netpbm-mirror-1afcbfb7de6fef5c052766f258bde74d845253df.tar.gz netpbm-mirror-1afcbfb7de6fef5c052766f258bde74d845253df.tar.xz netpbm-mirror-1afcbfb7de6fef5c052766f258bde74d845253df.zip |
Fix unsigned arithmetic bug
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@238 9d0c8265-081b-0410-96cb-a4ca84ce46f8
-rw-r--r-- | doc/HISTORY | 3 | ||||
-rw-r--r-- | lib/libpbm3.c | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/doc/HISTORY b/doc/HISTORY index 36845eda..78d167c5 100644 --- a/doc/HISTORY +++ b/doc/HISTORY @@ -39,6 +39,9 @@ not yet BJH Release 10.38.0 libnetpbm: fix buffer overrun with PBM images < 8 columns. + libnetpbm: fix crash with PBM images < 8 columns on MMX/SSE + machine. + pamtogif: fail properly if image to wide or high for GIF. ppmdraw: fix crash with use of freed storage. Thanks diff --git a/lib/libpbm3.c b/lib/libpbm3.c index a3ada015..2a811748 100644 --- a/lib/libpbm3.c +++ b/lib/libpbm3.c @@ -107,11 +107,12 @@ packBitsWithMmxSse(FILE * const fileP, typedef int v8qi __attribute__ ((mode(V8QI))); typedef int di __attribute__ ((mode(DI))); - int col; di const zero64 = 0; /* to clear with PXOR */ - for (col = 0; col < cols-7; col += 8) { + unsigned int col; + + for (col = 0; col + 7 < cols; col += 8) { v8qi const compare = __builtin_ia32_pcmpeqb(*(v8qi*) (&bitrow[col]), *(v8qi*) &zero64); unsigned char const backwardWhiteMask = (unsigned char) |