Skip to content

Commit bc69558

Browse files
author
Razvan Becheriu
committed
[#3193] fixed double free when using botan
1 parent 6bfbdab commit bc69558

File tree

5 files changed

+5
-8
lines changed

5 files changed

+5
-8
lines changed

src/lib/cryptolink/botan_link.cc

-2
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,6 @@ CryptoLink::initialize(CryptoLink& c) {
7070
isc_throw(InitializationError, "Botan error: " << ex.what());
7171
}
7272
}
73-
// A not yet fixed bug makes RNG to be destroyed after memory pool...
74-
atexit([]{ getCryptoLink().getRNG().reset(); });
7573
}
7674

7775
std::string

src/lib/cryptolink/crypto_rng.cc

+1-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ RNG::~RNG() {
2323
}
2424

2525
std::vector<uint8_t>
26-
random(size_t len)
27-
{
26+
random(size_t len) {
2827
RNGPtr rng(CryptoLink::getCryptoLink().getRNG());
2928
return (rng->random(len));
3029
}

src/lib/cryptolink/crypto_rng.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class RNG : private boost::noncopyable {
4242
virtual std::vector<uint8_t> random(size_t len) = 0;
4343

4444
private:
45-
friend RNGPtr& CryptoLink::getRNG();
45+
friend RNGPtr const& CryptoLink::getRNG() const;
4646
};
4747

4848
/// \brief Generate random value.

src/lib/cryptolink/cryptolink.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ CryptoLink::createHMAC(const void* secret, size_t secret_len,
3030
return (new HMAC(secret, secret_len, hash_algorithm));
3131
}
3232

33-
RNGPtr&
34-
CryptoLink::getRNG() {
33+
RNGPtr const&
34+
CryptoLink::getRNG() const {
3535
return (rng_);
3636
}
3737

src/lib/cryptolink/cryptolink.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ class CryptoLink : private boost::noncopyable {
211211
/// in a derived class
212212
/// \exception LibraryError if there was any unexpected exception
213213
/// in the underlying library
214-
virtual RNGPtr& getRNG();
214+
virtual RNGPtr const& getRNG() const;
215215

216216
private:
217217
/// \brief Initialize the library

0 commit comments

Comments
 (0)