diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/a_sign.c')
-rw-r--r-- | src/lib/libcrypto/asn1/a_sign.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/libcrypto/asn1/a_sign.c b/src/lib/libcrypto/asn1/a_sign.c index 1081950518..4dee45fbb8 100644 --- a/src/lib/libcrypto/asn1/a_sign.c +++ b/src/lib/libcrypto/asn1/a_sign.c | |||
@@ -267,7 +267,12 @@ int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2, | |||
267 | goto err; | 267 | goto err; |
268 | } | 268 | } |
269 | 269 | ||
270 | EVP_SignInit_ex(&ctx,type, NULL); | 270 | if (!EVP_SignInit_ex(&ctx,type, NULL)) |
271 | { | ||
272 | outl=0; | ||
273 | ASN1err(ASN1_F_ASN1_ITEM_SIGN,ERR_R_EVP_LIB); | ||
274 | goto err; | ||
275 | } | ||
271 | EVP_SignUpdate(&ctx,(unsigned char *)buf_in,inl); | 276 | EVP_SignUpdate(&ctx,(unsigned char *)buf_in,inl); |
272 | if (!EVP_SignFinal(&ctx,(unsigned char *)buf_out, | 277 | if (!EVP_SignFinal(&ctx,(unsigned char *)buf_out, |
273 | (unsigned int *)&outl,pkey)) | 278 | (unsigned int *)&outl,pkey)) |