2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-30 13:37:55 +00:00

[2275] valgrind fix: store singleton instance in auto_ptr

This commit is contained in:
Jelte Jansen
2012-10-03 16:42:08 +02:00
parent b89e441124
commit 0c38d26f6a

View File

@@ -106,10 +106,10 @@ internal::RequestCheckCreator::create(const string& name,
RequestLoader&
getRequestLoader() {
static RequestLoader* loader(NULL);
if (loader == NULL) {
static auto_ptr<RequestLoader> loader(NULL);
if (loader.get() == NULL) {
// Creator registration may throw, so we first store the new loader
// in an auto pointer in order to provide the strong exception
// in a second auto pointer in order to provide the strong exception
// guarantee.
auto_ptr<RequestLoader> loader_ptr =
auto_ptr<RequestLoader>(new RequestLoader(REJECT));
@@ -129,7 +129,7 @@ getRequestLoader() {
new LogicCreator<AllOfSpec, RequestContext>("ALL")));
// From this point there shouldn't be any exception thrown
loader = loader_ptr.release();
loader.reset(loader_ptr.release());
}
return (*loader);