diff options
Diffstat (limited to 'app-arch/gzip/files/gzip-1.3.5-alpha.patch')
-rw-r--r-- | app-arch/gzip/files/gzip-1.3.5-alpha.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/app-arch/gzip/files/gzip-1.3.5-alpha.patch b/app-arch/gzip/files/gzip-1.3.5-alpha.patch new file mode 100644 index 000000000000..c31cd3209595 --- /dev/null +++ b/app-arch/gzip/files/gzip-1.3.5-alpha.patch @@ -0,0 +1,28 @@ +Taken from Debian. + +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=187417 +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=184057 +http://bugs.gentoo.org/92232 + +--- gzip-1.3.5.orig/deflate.c ++++ gzip-1.3.5/deflate.c +@@ -643,7 +643,8 @@ + /* Find the longest match, discarding those <= prev_length. + * At this point we have always match_length < MIN_MATCH + */ +- if (hash_head != NIL && strstart - hash_head <= MAX_DIST) { ++ if (hash_head != NIL && strstart - hash_head <= MAX_DIST && ++ strstart <= window_size - MIN_LOOKAHEAD) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). +@@ -737,7 +738,8 @@ + match_length = MIN_MATCH-1; + + if (hash_head != NIL && prev_length < max_lazy_match && +- strstart - hash_head <= MAX_DIST) { ++ strstart - hash_head <= MAX_DIST && ++ strstart <= window_size - MIN_LOOKAHEAD) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). |