From: Matt Caswell Date: Mon, 22 Jun 2020 15:01:31 +0000 (+0100) Subject: Ensure GCM "update" failures return 0 on error X-Git-Tag: openssl-3.0.0-alpha5~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee0c849e5a1c26ed16c08311efdfd78c8e4c8221;p=thirdparty%2Fopenssl.git Ensure GCM "update" failures return 0 on error EVP_CipherUpdate is supposed to return 1 for success or 0 for error. However for GCM ciphers it was sometimes returning -1 for error. Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/12288) --- diff --git a/providers/implementations/ciphers/ciphercommon_gcm.c b/providers/implementations/ciphers/ciphercommon_gcm.c index 7daa8dce5b1..080fcc9bc23 100644 --- a/providers/implementations/ciphers/ciphercommon_gcm.c +++ b/providers/implementations/ciphers/ciphercommon_gcm.c @@ -280,12 +280,12 @@ int gcm_stream_update(void *vctx, unsigned char *out, size_t *outl, if (outsize < inl) { ERR_raise(ERR_LIB_PROV, PROV_R_OUTPUT_BUFFER_TOO_SMALL); - return -1; + return 0; } if (gcm_cipher_internal(ctx, out, outl, in, inl) <= 0) { ERR_raise(ERR_LIB_PROV, PROV_R_CIPHER_OPERATION_FAILED); - return -1; + return 0; } return 1; }