projects
/
platform
/
upstream
/
xz.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3b34851
)
Fix wrong pointer calculation in LZMA encoder.
author
Lasse Collin
<lasse.collin@tukaani.org>
Sun, 31 Aug 2008 08:47:01 +0000
(11:47 +0300)
committer
Lasse Collin
<lasse.collin@tukaani.org>
Sun, 31 Aug 2008 08:47:01 +0000
(11:47 +0300)
src/liblzma/lzma/lzma_encoder.c
patch
|
blob
|
history
diff --git
a/src/liblzma/lzma/lzma_encoder.c
b/src/liblzma/lzma/lzma_encoder.c
index
a84801e
..
5302a70
100644
(file)
--- a/
src/liblzma/lzma/lzma_encoder.c
+++ b/
src/liblzma/lzma/lzma_encoder.c
@@
-165,8
+165,10
@@
match(lzma_coder *coder, const uint32_t pos_state,
const uint32_t pos_reduced = distance - base;
if (pos_slot < END_POS_MODEL_INDEX) {
+ // Careful here: base - pos_slot - 1 can be -1, but
+ // rc_bittree_reverse starts at probs[1], not probs[0].
rc_bittree_reverse(&coder->rc,
-
&coder->pos_special[base - pos_slot - 1]
,
+
coder->pos_special + base - pos_slot - 1
,
footer_bits, pos_reduced);
} else {
rc_direct(&coder->rc, pos_reduced >> ALIGN_BITS,