Skip to content

Commit 243ca1b

Browse files
Copilotmvadari
andauthored
Pass std::string_view by value, fix dangling reference in ServerHandler
Agent-Logs-Url: https://github.com/XRPLF/rippled/sessions/3aef40d0-f51b-484c-a5d3-43dd37d6187f Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>
1 parent 40a5871 commit 243ca1b

File tree

6 files changed

+11
-11
lines changed

6 files changed

+11
-11
lines changed

include/xrpl/beast/rfc2616.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ split_commas(FwdIt first, FwdIt last)
182182

183183
template <class Result = std::vector<std::string>>
184184
Result
185-
split_commas(std::string_view const& s)
185+
split_commas(std::string_view s)
186186
{
187187
return split_commas(s.begin(), s.end());
188188
}

include/xrpl/json/Output.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ namespace Json {
88

99
class Value;
1010

11-
using Output = std::function<void(std::string_view const&)>;
11+
using Output = std::function<void(std::string_view)>;
1212

1313
inline Output
1414
stringOutput(std::string& s)
1515
{
16-
return [&](std::string_view const& b) { s.append(b.data(), b.size()); };
16+
return [&](std::string_view b) { s.append(b.data(), b.size()); };
1717
}
1818

1919
/** Writes a minimal representation of a Json value to an Output in O(n) time.

src/libxrpl/json/Writer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,14 @@ class Writer::Impl
8888
}
8989

9090
void
91-
output(std::string_view const& bytes)
91+
output(std::string_view bytes)
9292
{
9393
markStarted();
9494
output_(bytes);
9595
}
9696

9797
void
98-
stringOutput(std::string_view const& bytes)
98+
stringOutput(std::string_view bytes)
9999
{
100100
markStarted();
101101
std::size_t position = 0, writtenUntil = 0;

src/xrpld/overlay/detail/ProtocolVersion.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ to_string(ProtocolVersion const& p)
5656
}
5757

5858
std::vector<ProtocolVersion>
59-
parseProtocolVersions(std::string_view const& value)
59+
parseProtocolVersions(std::string_view value)
6060
{
6161
static boost::regex const re(
6262
"^" // start of line
@@ -126,7 +126,7 @@ negotiateProtocolVersion(std::vector<ProtocolVersion> const& versions)
126126
}
127127

128128
std::optional<ProtocolVersion>
129-
negotiateProtocolVersion(std::string_view const& versions)
129+
negotiateProtocolVersion(std::string_view versions)
130130
{
131131
auto const them = parseProtocolVersions(versions);
132132

src/xrpld/overlay/detail/ProtocolVersion.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ to_string(ProtocolVersion const& p);
3838
no duplicates and will be sorted in ascending protocol order.
3939
*/
4040
std::vector<ProtocolVersion>
41-
parseProtocolVersions(std::string_view const& s);
41+
parseProtocolVersions(std::string_view s);
4242

4343
/** Given a list of supported protocol versions, choose the one we prefer. */
4444
std::optional<ProtocolVersion>
4545
negotiateProtocolVersion(std::vector<ProtocolVersion> const& versions);
4646

4747
/** Given a list of supported protocol versions, choose the one we prefer. */
4848
std::optional<ProtocolVersion>
49-
negotiateProtocolVersion(std::string_view const& versions);
49+
negotiateProtocolVersion(std::string_view versions);
5050

5151
/** The list of all the protocol versions we support. */
5252
std::string const&

src/xrpld/rpc/detail/ServerHandler.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ ServerHandler::onHandoff(
230230
static inline Json::Output
231231
makeOutput(Session& session)
232232
{
233-
return [&](std::string_view const& b) { session.write(b.data(), b.size()); };
233+
return [&](std::string_view b) { session.write(b.data(), b.size()); };
234234
}
235235

236236
static std::map<std::string, std::string>
@@ -535,7 +535,7 @@ ServerHandler::processSession(
535535
auto const iter = session->request().find("X-User");
536536
if (iter != session->request().end())
537537
{
538-
auto const val = iter->value();
538+
auto const& val = iter->value();
539539
return std::string_view(val.data(), val.size());
540540
}
541541
return std::string_view{};

0 commit comments

Comments
 (0)