diff options
author | Matt Caswell <matt@openssl.org> | 2017-06-21 15:55:56 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2017-08-21 08:44:44 +0100 |
commit | e40ada04f45927eccf166adb067ee0ec795cefd4 (patch) | |
tree | 75f3345076a65e2b169624de46420dfd546ab942 /crypto/pem/pem_info.c | |
parent | 7d248ee0aed6bf364b96fd100835b15ccfede309 (diff) | |
download | openssl-e40ada04f45927eccf166adb067ee0ec795cefd4.zip openssl-e40ada04f45927eccf166adb067ee0ec795cefd4.tar.gz openssl-e40ada04f45927eccf166adb067ee0ec795cefd4.tar.bz2 |
Remove OPENSSL_assert() from crypto/pem
Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3740)
Diffstat (limited to 'crypto/pem/pem_info.c')
-rw-r--r-- | crypto/pem/pem_info.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/crypto/pem/pem_info.c b/crypto/pem/pem_info.c index dd493c8..017dd0f 100644 --- a/crypto/pem/pem_info.c +++ b/crypto/pem/pem_info.c @@ -256,7 +256,13 @@ int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc, if (enc != NULL) { objstr = OBJ_nid2sn(EVP_CIPHER_nid(enc)); - if (objstr == NULL) { + if (objstr == NULL + /* + * Check "Proc-Type: 4,Encrypted\nDEK-Info: objstr,hex-iv\n" + * fits into buf + */ + || (strlen(objstr) + 23 + 2 * EVP_CIPHER_iv_length(enc) + 13) + > sizeof(buf)) { PEMerr(PEM_F_PEM_X509_INFO_WRITE_BIO, PEM_R_UNSUPPORTED_CIPHER); goto err; } @@ -291,10 +297,7 @@ int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc, goto err; } - /* create the right magic header stuff */ - OPENSSL_assert(strlen(objstr) + 23 - + 2 * EVP_CIPHER_iv_length(enc) + 13 <= - sizeof buf); + /* Create the right magic header stuff */ buf[0] = '\0'; PEM_proc_type(buf, PEM_TYPE_ENCRYPTED); PEM_dek_info(buf, objstr, EVP_CIPHER_iv_length(enc), |