diff options
Diffstat (limited to 'app-text/calibre/files/calibre-2.83.0-lzxd-bounds-error-bug-540596.patch')
-rw-r--r-- | app-text/calibre/files/calibre-2.83.0-lzxd-bounds-error-bug-540596.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/app-text/calibre/files/calibre-2.83.0-lzxd-bounds-error-bug-540596.patch b/app-text/calibre/files/calibre-2.83.0-lzxd-bounds-error-bug-540596.patch new file mode 100644 index 00000000..5f7d5a46 --- /dev/null +++ b/app-text/calibre/files/calibre-2.83.0-lzxd-bounds-error-bug-540596.patch @@ -0,0 +1,37 @@ +From f335c8719b224d3ca7a967b6e91cebd5b26684fe Mon Sep 17 00:00:00 2001 +From: Zac Medico <zmedico@gentoo.org> +Date: Sun, 23 Apr 2017 16:13:00 -0700 +Subject: [PATCH] Fix bounds error in lzxd_static_init + +https://bugs.gentoo.org/show_bug.cgi?id=540596 +https://github.com/kovidgoyal/calibre/pull/650 + +This includes the changes from the following upstream commits: + +https://github.com/kyz/libmspack/commit/6a42ddd1d472afeaf0f7da91e16b60ab2063fb92 +https://github.com/kyz/libmspack/commit/ce3cc03aa500dd9c0b6b820f9519f6b6b9dede05 +--- + src/calibre/utils/lzx/lzxd.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/calibre/utils/lzx/lzxd.c b/src/calibre/utils/lzx/lzxd.c +index e683a9e..c531aaa 100644 +--- a/src/calibre/utils/lzx/lzxd.c ++++ b/src/calibre/utils/lzx/lzxd.c +@@ -357,11 +357,12 @@ static unsigned char extra_bits[51]; + static void lzxd_static_init(void) { + int i, j; + +- for (i = 0, j = 0; i < 51; i += 2) { ++ for (i = 0, j = 0; i < 50; i += 2) { + extra_bits[i] = j; /* 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7... */ + extra_bits[i+1] = j; + if ((i != 0) && (j < 17)) j++; /* 0,0,1,2,3,4...15,16,17,17,17,17... */ + } ++ extra_bits[50] = 17; + + for (i = 0, j = 0; i < 51; i++) { + position_base[i] = j; /* 0,1,2,3,4,6,8,12,16,24,32,... */ +-- +2.10.2 + |