summaryrefslogtreecommitdiff
path: root/deflate_medium.c
diff options
context:
space:
mode:
authorMika Lindqvist <postmaster@raasu.org>2017-03-17 21:36:38 +0200
committerHans Kristian Rosbach <hk-git@circlestorm.org>2017-03-24 21:56:23 +0100
commit75e76eebeb08dccea44a1d9933699f7f9a0a97ea (patch)
tree629aaa2443c283cfd5cfe3819cef777bb864af5a /deflate_medium.c
parent9fdda220c62d5ba8746c2bf6f6c63da27897a90f (diff)
deflate_medium: Make sure we have enough lookahead before trying to scan for matches.
* longest_match: Abort if match is in future
Diffstat (limited to 'deflate_medium.c')
-rw-r--r--deflate_medium.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/deflate_medium.c b/deflate_medium.c
index 972f5a8..2a12d4b 100644
--- a/deflate_medium.c
+++ b/deflate_medium.c
@@ -264,7 +264,7 @@ block_state deflate_medium(deflate_state *s, int flush) {
insert_match(s, current_match);
/* now, look ahead one */
- if (s->lookahead > MIN_LOOKAHEAD) {
+ if (s->lookahead > MIN_LOOKAHEAD && (current_match.strstart + current_match.match_length) < (s->window_size - MIN_LOOKAHEAD)) {
s->strstart = current_match.strstart + current_match.match_length;
hash_head = insert_string(s, s->strstart, 1);