summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Moinvaziri <nathan@nathanm.com>2021-06-02 16:32:00 -0700
committerHans Kristian Rosbach <hk-github@circlestorm.org>2021-06-04 20:53:46 +0200
commit9ee1c5a9ed9cb6c4996beb7648963b2c4f31b406 (patch)
tree19143026a508cca82faf8fb6328bdaff3a175ae6
parent025b27e3949b428bf8495c3a142b78384e95c4fa (diff)
Use SET_BAD macro in inflateBack.
-rw-r--r--infback.c36
1 files changed, 12 insertions, 24 deletions
diff --git a/infback.c b/infback.c
index eecf03a..6236939 100644
--- a/infback.c
+++ b/infback.c
@@ -188,8 +188,7 @@ int32_t Z_EXPORT PREFIX(inflateBack)(PREFIX3(stream) *strm, in_func in, void *in
state->mode = TABLE;
break;
case 3:
- strm->msg = (char *)"invalid block type";
- state->mode = BAD;
+ SET_BAD("invalid block type");
}
DROPBITS(2);
break;
@@ -199,8 +198,7 @@ int32_t Z_EXPORT PREFIX(inflateBack)(PREFIX3(stream) *strm, in_func in, void *in
BYTEBITS(); /* go to byte boundary */
NEEDBITS(32);
if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) {
- strm->msg = (char *)"invalid stored block lengths";
- state->mode = BAD;
+ SET_BAD("invalid stored block lengths");
break;
}
state->length = (uint16_t)hold;
@@ -236,8 +234,7 @@ int32_t Z_EXPORT PREFIX(inflateBack)(PREFIX3(stream) *strm, in_func in, void *in
DROPBITS(4);
#ifndef PKZIP_BUG_WORKAROUND
if (state->nlen > 286 || state->ndist > 30) {
- strm->msg = (char *)"too many length or distance symbols";
- state->mode = BAD;
+ SET_BAD("too many length or distance symbols");
break;
}
#endif
@@ -257,8 +254,7 @@ int32_t Z_EXPORT PREFIX(inflateBack)(PREFIX3(stream) *strm, in_func in, void *in
state->lenbits = 7;
ret = zng_inflate_table(CODES, state->lens, 19, &(state->next), &(state->lenbits), state->work);
if (ret) {
- strm->msg = (char *)"invalid code lengths set";
- state->mode = BAD;
+ SET_BAD("invalid code lengths set");
break;
}
Tracev((stderr, "inflate: code lengths ok\n"));
@@ -279,8 +275,7 @@ int32_t Z_EXPORT PREFIX(inflateBack)(PREFIX3(stream) *strm, in_func in, void *in
NEEDBITS(here.bits + 2);
DROPBITS(here.bits);
if (state->have == 0) {
- strm->msg = (char *)"invalid bit length repeat";
- state->mode = BAD;
+ SET_BAD("invalid bit length repeat");
break;
}
len = state->lens[state->have - 1];
@@ -300,8 +295,7 @@ int32_t Z_EXPORT PREFIX(inflateBack)(PREFIX3(stream) *strm, in_func in, void *in
DROPBITS(7);
}
if (state->have + copy > state->nlen + state->ndist) {
- strm->msg = (char *)"invalid bit length repeat";
- state->mode = BAD;
+ SET_BAD("invalid bit length repeat");
break;
}
while (copy) {
@@ -317,8 +311,7 @@ int32_t Z_EXPORT PREFIX(inflateBack)(PREFIX3(stream) *strm, in_func in, void *in
/* check for end-of-block code (better have one) */
if (state->lens[256] == 0) {
- strm->msg = (char *)"invalid code -- missing end-of-block";
- state->mode = BAD;
+ SET_BAD("invalid code -- missing end-of-block");
break;
}
@@ -330,8 +323,7 @@ int32_t Z_EXPORT PREFIX(inflateBack)(PREFIX3(stream) *strm, in_func in, void *in
state->lenbits = 9;
ret = zng_inflate_table(LENS, state->lens, state->nlen, &(state->next), &(state->lenbits), state->work);
if (ret) {
- strm->msg = (char *)"invalid literal/lengths set";
- state->mode = BAD;
+ SET_BAD("invalid literal/lengths set");
break;
}
state->distcode = (const code *)(state->next);
@@ -339,8 +331,7 @@ int32_t Z_EXPORT PREFIX(inflateBack)(PREFIX3(stream) *strm, in_func in, void *in
ret = zng_inflate_table(DISTS, state->lens + state->nlen, state->ndist,
&(state->next), &(state->distbits), state->work);
if (ret) {
- strm->msg = (char *)"invalid distances set";
- state->mode = BAD;
+ SET_BAD("invalid distances set");
break;
}
Tracev((stderr, "inflate: codes ok\n"));
@@ -399,8 +390,7 @@ int32_t Z_EXPORT PREFIX(inflateBack)(PREFIX3(stream) *strm, in_func in, void *in
/* invalid code */
if (here.op & 64) {
- strm->msg = (char *)"invalid literal/length code";
- state->mode = BAD;
+ SET_BAD("invalid literal/length code");
break;
}
@@ -432,8 +422,7 @@ int32_t Z_EXPORT PREFIX(inflateBack)(PREFIX3(stream) *strm, in_func in, void *in
}
DROPBITS(here.bits);
if (here.op & 64) {
- strm->msg = (char *)"invalid distance code";
- state->mode = BAD;
+ SET_BAD("invalid distance code");
break;
}
state->offset = here.val;
@@ -447,8 +436,7 @@ int32_t Z_EXPORT PREFIX(inflateBack)(PREFIX3(stream) *strm, in_func in, void *in
}
#ifdef INFLATE_STRICT
if (state->offset > state->wsize - (state->whave < state->wsize ? left : 0)) {
- strm->msg = (char *)"invalid distance too far back";
- state->mode = BAD;
+ SET_BAD("invalid distance too far back");
break;
}
#endif