diff options
author | Xin LI <delphij@FreeBSD.org> | 2015-02-25 05:56:16 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2015-02-25 05:56:16 +0000 |
commit | 0099f6f89a1325dc504096aecbdcbddad498310e (patch) | |
tree | fb8622e587884d6798b247e77bf0a8dcc352eedd /crypto/openssl/crypto/pem/pvkfmt.c | |
parent | 11ad446ce58488a8870294bee24ea87050e96dbe (diff) | |
download | src-test2-releng/10.0.tar.gz src-test2-releng/10.0.zip |
Notes
Diffstat (limited to 'crypto/openssl/crypto/pem/pvkfmt.c')
-rw-r--r-- | crypto/openssl/crypto/pem/pvkfmt.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/crypto/openssl/crypto/pem/pvkfmt.c b/crypto/openssl/crypto/pem/pvkfmt.c index b1bf71a5daad..ae89f8281a82 100644 --- a/crypto/openssl/crypto/pem/pvkfmt.c +++ b/crypto/openssl/crypto/pem/pvkfmt.c @@ -759,6 +759,11 @@ static EVP_PKEY *do_PVK_body(const unsigned char **in, /* Copy BLOBHEADER across, decrypt rest */ memcpy(enctmp, p, 8); p += 8; + if (keylen < 8) + { + PEMerr(PEM_F_DO_PVK_BODY, PEM_R_PVK_TOO_SHORT); + return NULL; + } inlen = keylen - 8; q = enctmp + 8; if (!EVP_DecryptInit_ex(&cctx, EVP_rc4(), NULL, keybuf, NULL)) |