Test that X509_NAME_add_entry will not allow invalid entries to be added OpenSSL's API loves to have invalid states for objects, which means we constantly need to check for objects in bad states. Change-Id: I53d2a1dcda2e1bc723d1d6310dda88867a5ef341 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/81887 Reviewed-by: Adam Langley <agl@google.com> Auto-Submit: David Benjamin <davidben@google.com> Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/crypto/x509/x509_test.cc b/crypto/x509/x509_test.cc index d98482c..b9094d0 100644 --- a/crypto/x509/x509_test.cc +++ b/crypto/x509/x509_test.cc
@@ -5186,6 +5186,16 @@ } } +// Adding an invalid entry to an |X509_NAME| should not be possible. +TEST(X509Test, AddInvalidEntryToName) { + bssl::UniquePtr<X509_NAME> name(X509_NAME_new()); + ASSERT_TRUE(name); + bssl::UniquePtr<X509_NAME_ENTRY> entry(X509_NAME_ENTRY_new()); + ASSERT_TRUE(entry); + EXPECT_FALSE( + X509_NAME_add_entry(name.get(), entry.get(), /*loc=*/-1, /*set=*/0)); +} + TEST(X509Test, AddDuplicates) { bssl::UniquePtr<X509_STORE> store(X509_STORE_new()); bssl::UniquePtr<X509> a(CertFromPEM(kCrossSigningRootPEM));