Skip to content

Commit 692ed64

Browse files
committed
Increase exception safety of uri::decode.
1 parent 9a1f1bd commit 692ed64

1 file changed

Lines changed: 7 additions & 11 deletions

File tree

src/wallet/addresses/uri.cpp

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,16 @@ using namespace boost::urls;
3030

3131
bool uri::decode(const std::string& encoded) NOEXCEPT
3232
{
33-
if (encoded.empty())
34-
return false;
35-
36-
// throw std::length_error only for s.size() > url_view::max_size.
37-
BC_PUSH_WARNING(NO_THROW_IN_NOEXCEPT)
38-
const auto parts = parse_uri_reference(encoded);
39-
BC_POP_WARNING()
40-
41-
if (parts)
33+
if (!encoded.empty())
4234
{
4335
try
4436
{
45-
url_ = { parts.value() };
46-
return true;
37+
// throw std::length_error only for s.size() > url_view::max_size.
38+
if (const auto parts = parse_uri_reference(encoded))
39+
{
40+
url_ = { parts.value() };
41+
return true;
42+
}
4743
}
4844
catch (...)
4945
{

0 commit comments

Comments
 (0)