Commit d6f69ae5 authored by Jonas Maebe's avatar Jonas Maebe Committed by Kurt Roeckx
Browse files

cryptodev_digest_copy: return error if allocating dstate->mac_data fails



Signed-off-by: default avatarKurt Roeckx <kurt@openssl.org>
Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
parent 349e6b2b
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -901,7 +901,7 @@ static int cryptodev_digest_copy(EVP_MD_CTX *to,const EVP_MD_CTX *from)
	if (ioctl(dstate->d_fd, CIOCGSESSION, sess) < 0) {
		put_dev_crypto(dstate->d_fd);
		dstate->d_fd = -1;
		printf("cryptodev_digest_init: Open session failed\n");
		printf("cryptodev_digest_copy: Open session failed\n");
		return (0);
	}

@@ -909,6 +909,11 @@ static int cryptodev_digest_copy(EVP_MD_CTX *to,const EVP_MD_CTX *from)
	        if (fstate->mac_data != NULL)
			{
			dstate->mac_data = OPENSSL_malloc(fstate->mac_len);
			if (dstate->mac_data == NULL)
				{
				printf("cryptodev_digest_copy: mac_data allocation failed\n");
				return (0);
				}
			memcpy(dstate->mac_data, fstate->mac_data, fstate->mac_len);
			dstate->mac_len = fstate->mac_len;
			}