Commit cbf571aa authored by Joseph Noir's avatar Joseph Noir

Address leak warning in uri

parent a8db77ad
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include "caf/intrusive_cow_ptr.hpp" #include "caf/intrusive_cow_ptr.hpp"
#include "caf/intrusive_ptr.hpp" #include "caf/intrusive_ptr.hpp"
#include "caf/ip_address.hpp" #include "caf/ip_address.hpp"
#include "caf/make_counted.hpp"
#include "caf/string_view.hpp" #include "caf/string_view.hpp"
#include "caf/variant.hpp" #include "caf/variant.hpp"
...@@ -273,8 +274,10 @@ struct inspector_access<uri> : inspector_access_base<uri> { ...@@ -273,8 +274,10 @@ struct inspector_access<uri> : inspector_access_base<uri> {
return f.object(x).fields(f.field("value", get, set)); return f.object(x).fields(f.field("value", get, set));
} else { } else {
if constexpr (Inspector::is_loading) if constexpr (Inspector::is_loading)
if (!x.impl_->unique()) if (!x.impl_->unique()) {
x.impl_.reset(new uri::impl_type); x.impl_.reset();
x.impl_ = make_counted<uri::impl_type>();
}
return inspect(f, *x.impl_); return inspect(f, *x.impl_);
} }
} }
...@@ -290,8 +293,10 @@ struct inspector_access<uri> : inspector_access_base<uri> { ...@@ -290,8 +293,10 @@ struct inspector_access<uri> : inspector_access_base<uri> {
return detail::split_save_load(f, get, set); return detail::split_save_load(f, get, set);
} else { } else {
if constexpr (Inspector::is_loading) if constexpr (Inspector::is_loading)
if (!x.impl_->unique()) if (!x.impl_->unique()){
x.impl_.reset(new uri::impl_type); x.impl_.reset();
x.impl_ = make_counted<uri::impl_type>();
}
return inspect(f, *x.impl_); return inspect(f, *x.impl_);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment