diff options
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/pem/pem_seal.c')
| -rw-r--r-- | Cryptlib/OpenSSL/crypto/pem/pem_seal.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Cryptlib/OpenSSL/crypto/pem/pem_seal.c b/Cryptlib/OpenSSL/crypto/pem/pem_seal.c index a4a556a7..a5c18125 100644 --- a/Cryptlib/OpenSSL/crypto/pem/pem_seal.c +++ b/Cryptlib/OpenSSL/crypto/pem/pem_seal.c @@ -94,7 +94,8 @@ int PEM_SealInit(PEM_ENCODE_SEAL_CTX *ctx, EVP_CIPHER *type, EVP_MD *md_type, EVP_EncodeInit(&ctx->encode); EVP_MD_CTX_init(&ctx->md); - EVP_SignInit(&ctx->md, md_type); + if (!EVP_SignInit(&ctx->md, md_type)) + goto err; EVP_CIPHER_CTX_init(&ctx->cipher); ret = EVP_SealInit(&ctx->cipher, type, ek, ekl, iv, pubk, npubk); @@ -161,7 +162,8 @@ int PEM_SealFinal(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *sig, int *sigl, goto err; } - EVP_EncryptFinal_ex(&ctx->cipher, s, (int *)&i); + if (!EVP_EncryptFinal_ex(&ctx->cipher, s, (int *)&i)) + goto err; EVP_EncodeUpdate(&ctx->encode, out, &j, s, i); *outl = j; out += j; |
