summaryrefslogtreecommitdiff
path: root/inffast.c
diff options
context:
space:
mode:
authorHans Kristian Rosbach <hk-git@circlestorm.org>2020-10-18 16:19:51 +0200
committerHans Kristian Rosbach <hk-github@circlestorm.org>2020-10-24 15:51:46 +0200
commit6ce39348ba7b7a554507856232dcb6ed4aba5a20 (patch)
treeb0ad08348e22be86bab81a7f3ccbe3bee6d072be /inffast.c
parentb802a303ce8b6c86fbe3f93d59e0a82333768c0c (diff)
inflate: add SET_BAD macro, to make inflate.c a little cleaner.
Diffstat (limited to 'inffast.c')
-rw-r--r--inffast.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/inffast.c b/inffast.c
index c3673d7..f85a37e 100644
--- a/inffast.c
+++ b/inffast.c
@@ -199,8 +199,7 @@ void Z_INTERNAL zng_inflate_fast(PREFIX3(stream) *strm, unsigned long start) {
dist += BITS(op);
#ifdef INFLATE_STRICT
if (dist > dmax) {
- strm->msg = (char *)"invalid distance too far back";
- state->mode = BAD;
+ SET_BAD("invalid distance too far back");
break;
}
#endif
@@ -211,8 +210,7 @@ void Z_INTERNAL zng_inflate_fast(PREFIX3(stream) *strm, unsigned long start) {
op = dist - op; /* distance back in window */
if (op > whave) {
if (state->sane) {
- strm->msg = (char *)"invalid distance too far back";
- state->mode = BAD;
+ SET_BAD("invalid distance too far back");
break;
}
#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
@@ -277,8 +275,7 @@ void Z_INTERNAL zng_inflate_fast(PREFIX3(stream) *strm, unsigned long start) {
here = dcode + here->val + BITS(op);
goto dodist;
} else {
- strm->msg = (char *)"invalid distance code";
- state->mode = BAD;
+ SET_BAD("invalid distance code");
break;
}
} else if ((op & 64) == 0) { /* 2nd level length code */
@@ -289,8 +286,7 @@ void Z_INTERNAL zng_inflate_fast(PREFIX3(stream) *strm, unsigned long start) {
state->mode = TYPE;
break;
} else {
- strm->msg = (char *)"invalid literal/length code";
- state->mode = BAD;
+ SET_BAD("invalid literal/length code");
break;
}
} while (in < last && out < end);