From 963671a73e7344cf91f6f336ba4dd7969271771c Mon Sep 17 00:00:00 2001 From: vit9696 Date: Thu, 7 Oct 2021 19:10:36 +0300 Subject: [PATCH] Merge zlib warning fixes by rurban https://github.com/madler/zlib/compare/develop...rurban:FALLTHROUGH?d=1.patch --- common/zlib/deflate.c | 13 +++++++------ common/zlib/infback.c | 1 + common/zlib/inflate.c | 26 ++++++++++++++++++++++++-- 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/common/zlib/deflate.c b/common/zlib/deflate.c index 8d113e4..872325f 100755 --- a/common/zlib/deflate.c +++ b/common/zlib/deflate.c @@ -600,10 +600,11 @@ int ZEXPORT deflateParams(strm, level, strategy) } if (s->level != level) { if (s->level == 0 && s->matches != 0) { - if (s->matches == 1) + if (s->matches == 1) { slide_hash(s); - else + } else { CLEAR_HASH(s); + } s->matches = 0; } s->level = level; @@ -1120,12 +1121,12 @@ int ZEXPORT deflateCopy (dest, source) ss = source->state; - zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream)); + zmemcpy((Bytef*)dest, (const Bytef*)source, sizeof(z_stream)); ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state)); if (ds == Z_NULL) return Z_MEM_ERROR; dest->state = (struct internal_state FAR *) ds; - zmemcpy((voidpf)ds, (voidpf)ss, sizeof(deflate_state)); + zmemcpy((Bytef*)ds, (const Bytef*)ss, sizeof(deflate_state)); ds->strm = dest; ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte)); @@ -1141,8 +1142,8 @@ int ZEXPORT deflateCopy (dest, source) } /* following zmemcpy do not work for 16-bit MSDOS */ zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte)); - zmemcpy((voidpf)ds->prev, (voidpf)ss->prev, ds->w_size * sizeof(Pos)); - zmemcpy((voidpf)ds->head, (voidpf)ss->head, ds->hash_size * sizeof(Pos)); + zmemcpy((Bytef*)ds->prev, (const Bytef*)ss->prev, ds->w_size * sizeof(Pos)); + zmemcpy((Bytef*)ds->head, (const Bytef*)ss->head, ds->hash_size * sizeof(Pos)); zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size); ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf); diff --git a/common/zlib/infback.c b/common/zlib/infback.c index 59679ec..a695152 100755 --- a/common/zlib/infback.c +++ b/common/zlib/infback.c @@ -477,6 +477,7 @@ void FAR *out_desc; } Tracev((stderr, "inflate: codes ok\n")); state->mode = LEN; + /* FALLTHROUGH */ case LEN: /* use inflate_fast() if we have enough input and output */ diff --git a/common/zlib/inflate.c b/common/zlib/inflate.c index ac333e8..a336d2b 100755 --- a/common/zlib/inflate.c +++ b/common/zlib/inflate.c @@ -722,6 +722,7 @@ int flush; CRC2(state->check, hold); INITBITS(); state->mode = TIME; + /* FALLTHROUGH */ case TIME: NEEDBITS(32); if (state->head != Z_NULL) @@ -730,6 +731,7 @@ int flush; CRC4(state->check, hold); INITBITS(); state->mode = OS; + /* FALLTHROUGH */ case OS: NEEDBITS(16); if (state->head != Z_NULL) { @@ -740,6 +742,7 @@ int flush; CRC2(state->check, hold); INITBITS(); state->mode = EXLEN; + /* FALLTHROUGH */ case EXLEN: if (state->flags & 0x0400) { NEEDBITS(16); @@ -753,6 +756,7 @@ int flush; else if (state->head != Z_NULL) state->head->extra = Z_NULL; state->mode = EXTRA; + /* FALLTHROUGH */ case EXTRA: if (state->flags & 0x0400) { copy = state->length; @@ -775,6 +779,7 @@ int flush; } state->length = 0; state->mode = NAME; + /* FALLTHROUGH */ case NAME: if (state->flags & 0x0800) { if (have == 0) goto inf_leave; @@ -796,6 +801,7 @@ int flush; state->head->name = Z_NULL; state->length = 0; state->mode = COMMENT; + /* FALLTHROUGH */ case COMMENT: if (state->flags & 0x1000) { if (have == 0) goto inf_leave; @@ -816,6 +822,7 @@ int flush; else if (state->head != Z_NULL) state->head->comment = Z_NULL; state->mode = HCRC; + /* FALLTHROUGH */ case HCRC: if (state->flags & 0x0200) { NEEDBITS(16); @@ -839,6 +846,7 @@ int flush; strm->adler = state->check = ZSWAP32(hold); INITBITS(); state->mode = DICT; + /* FALLTHROUGH */ case DICT: if (state->havedict == 0) { RESTORE(); @@ -846,8 +854,10 @@ int flush; } strm->adler = state->check = adler32(0L, Z_NULL, 0); state->mode = TYPE; + /* FALLTHROUGH */ case TYPE: if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave; + /* FALLTHROUGH */ case TYPEDO: if (state->last) { BYTEBITS(); @@ -898,8 +908,10 @@ int flush; INITBITS(); state->mode = COPY_; if (flush == Z_TREES) goto inf_leave; + /* FALLTHROUGH */ case COPY_: state->mode = COPY; + /* FALLTHROUGH */ case COPY: copy = state->length; if (copy) { @@ -935,6 +947,7 @@ int flush; Tracev((stderr, "inflate: table sizes ok\n")); state->have = 0; state->mode = LENLENS; + /* FALLTHROUGH */ case LENLENS: while (state->have < state->ncode) { NEEDBITS(3); @@ -956,6 +969,7 @@ int flush; Tracev((stderr, "inflate: code lengths ok\n")); state->have = 0; state->mode = CODELENS; + /* FALLTHROUGH */ case CODELENS: while (state->have < state->nlen + state->ndist) { for (;;) { @@ -1039,8 +1053,10 @@ int flush; Tracev((stderr, "inflate: codes ok\n")); state->mode = LEN_; if (flush == Z_TREES) goto inf_leave; + /* FALLTHROUGH */ case LEN_: state->mode = LEN; + /* FALLTHROUGH */ case LEN: if (have >= 6 && left >= 258) { RESTORE(); @@ -1090,6 +1106,7 @@ int flush; } state->extra = (unsigned)(here.op) & 15; state->mode = LENEXT; + /* FALLTHROUGH */ case LENEXT: if (state->extra) { NEEDBITS(state->extra); @@ -1100,6 +1117,7 @@ int flush; Tracevv((stderr, "inflate: length %u\n", state->length)); state->was = state->length; state->mode = DIST; + /* FALLTHROUGH */ case DIST: for (;;) { here = state->distcode[BITS(state->distbits)]; @@ -1127,6 +1145,7 @@ int flush; state->offset = (unsigned)here.val; state->extra = (unsigned)(here.op) & 15; state->mode = DISTEXT; + /* FALLTHROUGH */ case DISTEXT: if (state->extra) { NEEDBITS(state->extra); @@ -1143,6 +1162,7 @@ int flush; #endif Tracevv((stderr, "inflate: distance %u\n", state->offset)); state->mode = MATCH; + /* FALLTHROUGH */ case MATCH: if (left == 0) goto inf_leave; copy = out - left; @@ -1218,6 +1238,7 @@ int flush; } #ifdef GUNZIP state->mode = LENGTH; + /* FALLTHROUGH */ case LENGTH: if (state->wrap && state->flags) { NEEDBITS(32); @@ -1231,6 +1252,7 @@ int flush; } #endif state->mode = DONE; + /* FALLTHROUGH */ case DONE: ret = Z_STREAM_END; goto inf_leave; @@ -1487,8 +1509,8 @@ z_streamp source; } /* copy state */ - zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream)); - zmemcpy((voidpf)copy, (voidpf)state, sizeof(struct inflate_state)); + zmemcpy((Bytef*)dest, (const Bytef*)source, sizeof(z_stream)); + zmemcpy((Bytef*)copy, (const Bytef*)state, sizeof(struct inflate_state)); copy->strm = dest; if (state->lencode >= state->codes && state->lencode <= state->codes + ENOUGH - 1) {