VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Common/zlib/infback.c
diff options
context:
space:
mode:
authorWendigo <84196391+wendig0x@users.noreply.github.com>2023-05-19 23:15:01 +0300
committerGitHub <noreply@github.com>2023-05-19 22:15:01 +0200
commit8fc866df4070e23ec0cc88a84c8ecfd456dfb30d (patch)
tree6673d7677b0a25d0d656d92febaeca6194e0b1ed /src/Common/zlib/infback.c
parent21918e33b66f371952ebed20f3b13317e8a94831 (diff)
downloadVeraCrypt-8fc866df4070e23ec0cc88a84c8ecfd456dfb30d.tar.gz
VeraCrypt-8fc866df4070e23ec0cc88a84c8ecfd456dfb30d.zip
update zlib to latest version 1.2.13 (#986)
Diffstat (limited to 'src/Common/zlib/infback.c')
-rw-r--r--src/Common/zlib/infback.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/Common/zlib/infback.c b/src/Common/zlib/infback.c
index a390c58e..babeaf18 100644
--- a/src/Common/zlib/infback.c
+++ b/src/Common/zlib/infback.c
@@ -66,6 +66,7 @@ int stream_size;
state->window = window;
state->wnext = 0;
state->whave = 0;
+ state->sane = 1;
return Z_OK;
}
@@ -605,25 +606,27 @@ void FAR *out_desc;
break;
case DONE:
- /* inflate stream terminated properly -- write leftover output */
+ /* inflate stream terminated properly */
ret = Z_STREAM_END;
- if (left < state->wsize) {
- if (out(out_desc, state->window, state->wsize - left))
- ret = Z_BUF_ERROR;
- }
goto inf_leave;
case BAD:
ret = Z_DATA_ERROR;
goto inf_leave;
- default: /* can't happen, but makes compilers happy */
+ default:
+ /* can't happen, but makes compilers happy */
ret = Z_STREAM_ERROR;
goto inf_leave;
}
- /* Return unused input */
+ /* Write leftover output and return unused input */
inf_leave:
+ if (left < state->wsize) {
+ if (out(out_desc, state->window, state->wsize - left) &&
+ ret == Z_STREAM_END)
+ ret = Z_BUF_ERROR;
+ }
strm->next_in = next;
strm->avail_in = have;
return ret;