diff options
author | Pauli <pauli@openssl.org> | 2021-11-04 11:59:55 +1000 |
---|---|---|
committer | Pauli <pauli@openssl.org> | 2021-11-08 08:55:32 +1000 |
commit | 73a815defe428e42ccc27fdc9d5be507f980278b (patch) | |
tree | 539db47fd23e85afdb01bfdc62c682c3fa8c6da7 /crypto/comp | |
parent | 098f2627c8d283a518a6e6e60e7893664c7510e0 (diff) |
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16962)
Diffstat (limited to 'crypto/comp')
-rw-r--r-- | crypto/comp/c_zlib.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/crypto/comp/c_zlib.c b/crypto/comp/c_zlib.c index b36a562d88..9a7087e444 100644 --- a/crypto/comp/c_zlib.c +++ b/crypto/comp/c_zlib.c @@ -380,7 +380,11 @@ static int bio_zlib_read(BIO *b, char *out, int outl) ERR_raise(ERR_LIB_COMP, ERR_R_MALLOC_FAILURE); return 0; } - inflateInit(zin); + if ((ret = inflateInit(zin)) != Z_OK) { + ERR_raise_data(ERR_LIB_COMP, COMP_R_ZLIB_INFLATE_ERROR, + "zlib error: %s", zError(ret)); + return 0; + } zin->next_in = ctx->ibuf; zin->avail_in = 0; } @@ -443,7 +447,11 @@ static int bio_zlib_write(BIO *b, const char *in, int inl) } ctx->optr = ctx->obuf; ctx->ocount = 0; - deflateInit(zout, ctx->comp_level); + if ((ret = deflateInit(zout, ctx->comp_level)) != Z_OK) { + ERR_raise_data(ERR_LIB_COMP, COMP_R_ZLIB_DEFLATE_ERROR, + "zlib error: %s", zError(ret)); + return 0; + } zout->next_out = ctx->obuf; zout->avail_out = ctx->obufsize; } |