diff --git a/src/crypto/fipsmodule/rand/ctrdrbg_test.cc b/src/crypto/fipsmodule/rand/ctrdrbg_test.cc index e6ebbca2e..50f42973f 100644 --- a/src/crypto/fipsmodule/rand/ctrdrbg_test.cc +++ b/src/crypto/fipsmodule/rand/ctrdrbg_test.cc @@ -63,13 +63,11 @@ TEST(CTRDRBGTest, Basic) { TEST(CTRDRBGTest, Allocated) { const uint8_t kSeed[CTR_DRBG_ENTROPY_LEN] = {0}; - CTR_DRBG_STATE *allocated = CTR_DRBG_new(kSeed, nullptr, 0); + bssl::UniquePtr allocated(CTR_DRBG_new(kSeed, nullptr, 0)); ASSERT_TRUE(allocated); - CTR_DRBG_free(allocated); - allocated = CTR_DRBG_new(kSeed, nullptr, 1<<20); + allocated.reset(CTR_DRBG_new(kSeed, nullptr, 1<<20)); ASSERT_FALSE(allocated); - CTR_DRBG_free(allocated); } TEST(CTRDRBGTest, Large) { diff --git a/src/include/openssl/ctrdrbg.h b/src/include/openssl/ctrdrbg.h index 62afe0c18..5440fb4d1 100644 --- a/src/include/openssl/ctrdrbg.h +++ b/src/include/openssl/ctrdrbg.h @@ -71,6 +71,12 @@ OPENSSL_EXPORT void CTR_DRBG_clear(CTR_DRBG_STATE *drbg); #if defined(__cplusplus) } // extern C + +extern "C++" { +BSSL_NAMESPACE_BEGIN +BORINGSSL_MAKE_DELETER(CTR_DRBG_STATE, CTR_DRBG_free) +BSSL_NAMESPACE_END +} // extern C++ #endif #endif // OPENSSL_HEADER_CTRDRBG_H