Commit c0e9f540 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Check for errors in ASN1 sign and verify routines.

parent 7c97aacb
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -267,7 +267,12 @@ int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
		goto err;
		}

	EVP_SignInit_ex(&ctx,type, NULL);
	if (!EVP_SignInit_ex(&ctx,type, NULL))
		{
		outl=0;
		ASN1err(ASN1_F_ASN1_ITEM_SIGN,ERR_R_EVP_LIB);
		goto err;
		}
	EVP_SignUpdate(&ctx,(unsigned char *)buf_in,inl);
	if (!EVP_SignFinal(&ctx,(unsigned char *)buf_out,
			(unsigned int *)&outl,pkey))
+6 −1
Original line number Diff line number Diff line
@@ -100,7 +100,12 @@ int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *a, ASN1_BIT_STRING *signature,
	p=buf_in;

	i2d(data,&p);
	EVP_VerifyInit_ex(&ctx,type, NULL);
	if (!EVP_VerifyInit_ex(&ctx,type, NULL))
		{
		ASN1err(ASN1_F_ASN1_VERIFY,ERR_R_EVP_LIB);
		ret=0;
		goto err;
		}
	EVP_VerifyUpdate(&ctx,(unsigned char *)buf_in,inl);

	OPENSSL_cleanse(buf_in,(unsigned int)inl);