]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Dont pass zero length input to asm modules for ciphers
authorPatrick Steuer <patrick.steuer@de.ibm.com>
Fri, 1 Nov 2019 13:58:36 +0000 (14:58 +0100)
committerPatrick Steuer <patrick.steuer@de.ibm.com>
Wed, 20 Nov 2019 09:24:53 +0000 (10:24 +0100)
The asm modules may assume an input length > 0.

Fixes: #9262
Signed-off-by: Patrick Steuer <patrick.steuer@de.ibm.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10323)

providers/common/ciphers/cipher_common.c

index fe4560192d74db5578bec43c54299addb1014d76..8f39a168c8536c91f4c383fd7530186b2b98d222 100644 (file)
@@ -207,6 +207,8 @@ int cipher_generic_block_update(void *vctx, unsigned char *out, size_t *outl,
             ERR_raise(ERR_LIB_PROV, PROV_R_OUTPUT_BUFFER_TOO_SMALL);
             return 0;
         }
+    }
+    if (nextblocks > 0) {
         if (!ctx->hw->cipher(ctx, out, in, nextblocks)) {
             ERR_raise(ERR_LIB_PROV, PROV_R_CIPHER_OPERATION_FAILED);
             return 0;