|
Ivana Varekova |
af3232 |
diff -urN bzip2-1.0.4/bzlib.c bzip2-1.0.5/bzlib.c
|
|
Ivana Varekova |
af3232 |
--- bzip2-1.0.4/bzlib.c 2007-01-02 21:00:55.000000000 -0500
|
|
Ivana Varekova |
af3232 |
+++ bzip2-1.0.5/bzlib.c 2007-12-09 08:57:21.000000000 -0500
|
|
Ivana Varekova |
af3232 |
@@ -598,6 +598,7 @@
|
|
Ivana Varekova |
af3232 |
UInt32 c_tPos = s->tPos;
|
|
Ivana Varekova |
af3232 |
char* cs_next_out = s->strm->next_out;
|
|
Ivana Varekova |
af3232 |
unsigned int cs_avail_out = s->strm->avail_out;
|
|
Ivana Varekova |
af3232 |
+ Int32 ro_blockSize100k = s->blockSize100k;
|
|
Ivana Varekova |
af3232 |
/* end restore */
|
|
Ivana Varekova |
af3232 |
|
|
Ivana Varekova |
af3232 |
UInt32 avail_out_INIT = cs_avail_out;
|
|
Ivana Varekova |
af3232 |
diff -urN bzip2-1.0.4/bzlib_private.h bzip2-1.0.5/bzlib_private.h
|
|
Ivana Varekova |
af3232 |
--- bzip2-1.0.4/bzlib_private.h 2007-01-02 21:00:55.000000000 -0500
|
|
Ivana Varekova |
af3232 |
+++ bzip2-1.0.5/bzlib_private.h 2007-12-09 09:00:46.000000000 -0500
|
|
Ivana Varekova |
af3232 |
@@ -442,11 +442,15 @@
|
|
Ivana Varekova |
af3232 |
/*-- Macros for decompression. --*/
|
|
Ivana Varekova |
af3232 |
|
|
Ivana Varekova |
af3232 |
#define BZ_GET_FAST(cccc) \
|
|
Ivana Varekova |
af3232 |
+ /* c_tPos is unsigned, hence test < 0 is pointless. */ \
|
|
Ivana Varekova |
af3232 |
+ if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
|
|
Ivana Varekova |
af3232 |
s->tPos = s->tt[s->tPos]; \
|
|
Ivana Varekova |
af3232 |
cccc = (UChar)(s->tPos & 0xff); \
|
|
Ivana Varekova |
af3232 |
s->tPos >>= 8;
|
|
Ivana Varekova |
af3232 |
|
|
Ivana Varekova |
af3232 |
#define BZ_GET_FAST_C(cccc) \
|
|
Ivana Varekova |
af3232 |
+ /* c_tPos is unsigned, hence test < 0 is pointless. */ \
|
|
Ivana Varekova |
af3232 |
+ if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \
|
|
Ivana Varekova |
af3232 |
c_tPos = c_tt[c_tPos]; \
|
|
Ivana Varekova |
af3232 |
cccc = (UChar)(c_tPos & 0xff); \
|
|
Ivana Varekova |
af3232 |
c_tPos >>= 8;
|
|
Ivana Varekova |
af3232 |
@@ -469,8 +473,10 @@
|
|
Ivana Varekova |
af3232 |
(((UInt32)s->ll16[i]) | (GET_LL4(i) << 16))
|
|
Ivana Varekova |
af3232 |
|
|
Ivana Varekova |
af3232 |
#define BZ_GET_SMALL(cccc) \
|
|
Ivana Varekova |
af3232 |
- cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \
|
|
Ivana Varekova |
af3232 |
- s->tPos = GET_LL(s->tPos);
|
|
Ivana Varekova |
af3232 |
+ /* c_tPos is unsigned, hence test < 0 is pointless. */ \
|
|
Ivana Varekova |
af3232 |
+ if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
|
|
Ivana Varekova |
af3232 |
+ cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \
|
|
Ivana Varekova |
af3232 |
+ s->tPos = GET_LL(s->tPos);
|
|
Ivana Varekova |
af3232 |
|
|
Ivana Varekova |
af3232 |
|
|
Ivana Varekova |
af3232 |
/*-- externs for decompression. --*/
|