44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
From 6f1bee08cf80b9473496991b51f1f4a0decd96de Mon Sep 17 00:00:00 2001
|
|
From: Dmitry Belyavskiy <beldmit@gmail.com>
|
|
Date: Fri, 9 Oct 2020 20:04:05 +0300
|
|
Subject: [PATCH 095/147] Verification zero-length content in S/MIME format
|
|
|
|
Fixes #13082
|
|
|
|
Reviewed-by: Paul Dale <paul.dale@oracle.com>
|
|
(Merged from https://github.com/openssl/openssl/pull/13106)
|
|
---
|
|
crypto/cms/cms_smime.c | 2 +-
|
|
crypto/pkcs7/pk7_smime.c | 2 +-
|
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/crypto/cms/cms_smime.c b/crypto/cms/cms_smime.c
|
|
index 652e97b..2c475ea 100644
|
|
--- a/crypto/cms/cms_smime.c
|
|
+++ b/crypto/cms/cms_smime.c
|
|
@@ -341,7 +341,7 @@ int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs,
|
|
char *ptr;
|
|
long len;
|
|
len = BIO_get_mem_data(dcont, &ptr);
|
|
- tmpin = BIO_new_mem_buf(ptr, len);
|
|
+ tmpin = (len == 0) ? dcont : BIO_new_mem_buf(ptr, len);
|
|
if (tmpin == NULL) {
|
|
CMSerr(CMS_F_CMS_VERIFY, ERR_R_MALLOC_FAILURE);
|
|
goto err2;
|
|
diff --git a/crypto/pkcs7/pk7_smime.c b/crypto/pkcs7/pk7_smime.c
|
|
index 4418723..4ce44d8 100644
|
|
--- a/crypto/pkcs7/pk7_smime.c
|
|
+++ b/crypto/pkcs7/pk7_smime.c
|
|
@@ -301,7 +301,7 @@ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store,
|
|
char *ptr;
|
|
long len;
|
|
len = BIO_get_mem_data(indata, &ptr);
|
|
- tmpin = BIO_new_mem_buf(ptr, len);
|
|
+ tmpin = (len == 0) ? indata : BIO_new_mem_buf(ptr, len);
|
|
if (tmpin == NULL) {
|
|
PKCS7err(PKCS7_F_PKCS7_VERIFY, ERR_R_MALLOC_FAILURE);
|
|
goto err;
|
|
--
|
|
1.8.3.1
|
|
|