#include <openssl/err.h>
#include <openssl/x509.h>
#include <openssl/x509v3.h>
+#include <openssl/cms.h>
#include "e_os.h"
static const ASN1_ITEM *item_type;
ASN1_ITEM_ref(ASN1_ANY),
ASN1_ITEM_ref(X509),
ASN1_ITEM_ref(GENERAL_NAME),
- ASN1_ITEM_ref(ASN1_INTEGER)
+ ASN1_ITEM_ref(ASN1_INTEGER),
+ ASN1_ITEM_ref(CMS_ContentInfo)
};
static error_enum expected_errors[] = {
setup("test_d2i");
-plan tests => 13;
+plan tests => 14;
ok(run(test(["d2i_test", "X509", "decode",
srctop_file('test','d2i-tests','bad_cert.der')])),
ok(run(test(["d2i_test", "ASN1_INTEGER", "decode",
srctop_file('test','d2i-tests','bad-int-padminus1.der')])),
"Running d2i_test bad-int-padminus1.der INTEGER");
+
+# Invalid CMS structure with decode error in CHOICE value.
+# Test for CVE-2016-7053
+
+ok(run(test(["d2i_test", "CMS_ContentInfo", "decode",
+ srctop_file('test','d2i-tests','bad-cms.der')])),
+ "Running d2i_test bad-cms.der CMS ContentInfo");