diff options
author | marha <marha@users.sourceforge.net> | 2015-06-15 20:18:50 +0200 |
---|---|---|
committer | Mike DePaulo <mikedep333@gmail.com> | 2015-06-22 01:39:02 -0400 |
commit | 76d3cb65aed1b2e454d129eb1e187e896f5e3a2a (patch) | |
tree | bca8e882abc81afce4770da47751e08f1bbeecec /openssl/crypto/cms/cms_pwri.c | |
parent | df30d2b2322d7940e83be76b63ce6f5a5a77f5b3 (diff) | |
download | vcxsrv-76d3cb65aed1b2e454d129eb1e187e896f5e3a2a.tar.gz vcxsrv-76d3cb65aed1b2e454d129eb1e187e896f5e3a2a.tar.bz2 vcxsrv-76d3cb65aed1b2e454d129eb1e187e896f5e3a2a.zip |
Update to openssl-1.0.2c
Conflicts:
openssl/Makefile
Diffstat (limited to 'openssl/crypto/cms/cms_pwri.c')
-rw-r--r-- | openssl/crypto/cms/cms_pwri.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/openssl/crypto/cms/cms_pwri.c b/openssl/crypto/cms/cms_pwri.c index 076b54578..a8322dcdf 100644 --- a/openssl/crypto/cms/cms_pwri.c +++ b/openssl/crypto/cms/cms_pwri.c @@ -231,7 +231,7 @@ static int kek_unwrap_key(unsigned char *out, size_t *outlen, return 0; } tmp = OPENSSL_malloc(inlen); - if(!tmp) + if (!tmp) return 0; /* setup IV by decrypting last two blocks */ EVP_DecryptUpdate(ctx, tmp + inlen - 2 * blocklen, &outl, @@ -297,8 +297,9 @@ static int kek_wrap_key(unsigned char *out, size_t *outlen, out[3] = in[2] ^ 0xFF; memcpy(out + 4, in, inlen); /* Add random padding to end */ - if (olen > inlen + 4) - RAND_pseudo_bytes(out + 4 + inlen, olen - 4 - inlen); + if (olen > inlen + 4 + && RAND_pseudo_bytes(out + 4 + inlen, olen - 4 - inlen) < 0) + return 0; /* Encrypt twice */ EVP_EncryptUpdate(ctx, out, &dummy, out, olen); EVP_EncryptUpdate(ctx, out, &dummy, out, olen); |