diff options
author | swarmer <swarmer@yandex-team.com> | 2024-12-12 03:10:49 +0300 |
---|---|---|
committer | swarmer <swarmer@yandex-team.com> | 2024-12-12 03:24:34 +0300 |
commit | 8c927ddf70e6d1b9c9b5234bfab421da9fd79ac7 (patch) | |
tree | c2aa80e3046e1e13adbf43fdbcc0260ba466cc6d /library | |
parent | 133c310969aaa56dfc7fd4ab6a9c17f62dab1fce (diff) | |
download | ydb-8c927ddf70e6d1b9c9b5234bfab421da9fd79ac7.tar.gz |
TCgiParameters: add lifetimebound check
commit_hash:d483051ff24331bcda69d8afa1413158c9e01925
Diffstat (limited to 'library')
-rw-r--r-- | library/cpp/cgiparam/cgiparam.cpp | 4 | ||||
-rw-r--r-- | library/cpp/cgiparam/cgiparam.h | 14 |
2 files changed, 9 insertions, 9 deletions
diff --git a/library/cpp/cgiparam/cgiparam.cpp b/library/cpp/cgiparam/cgiparam.cpp index 25d53b0a92..397e23407f 100644 --- a/library/cpp/cgiparam/cgiparam.cpp +++ b/library/cpp/cgiparam/cgiparam.cpp @@ -11,7 +11,7 @@ TCgiParameters::TCgiParameters(std::initializer_list<std::pair<TString, TString> } } -const TString& TCgiParameters::Get(const TStringBuf name, size_t numOfValue) const noexcept { +const TString& TCgiParameters::Get(const TStringBuf name, size_t numOfValue) const noexcept Y_LIFETIME_BOUND { const auto it = Find(name, numOfValue); return end() == it ? Default<TString>() : it->second; @@ -221,7 +221,7 @@ TString TCgiParameters::QuotedPrint(const char* safe) const { return res; } -TCgiParameters::const_iterator TCgiParameters::Find(const TStringBuf name, size_t pos) const noexcept { +TCgiParameters::const_iterator TCgiParameters::Find(const TStringBuf name, size_t pos) const noexcept Y_LIFETIME_BOUND { const auto pair = equal_range(name); for (auto it = pair.first; it != pair.second; ++it, --pos) { diff --git a/library/cpp/cgiparam/cgiparam.h b/library/cpp/cgiparam/cgiparam.h index df7116510f..465940be67 100644 --- a/library/cpp/cgiparam/cgiparam.h +++ b/library/cpp/cgiparam/cgiparam.h @@ -61,7 +61,7 @@ public: } Y_PURE_FUNCTION - const_iterator Find(const TStringBuf name, size_t numOfValue = 0) const noexcept; + const_iterator Find(const TStringBuf name, size_t numOfValue = 0) const noexcept Y_LIFETIME_BOUND; Y_PURE_FUNCTION bool Has(const TStringBuf name, const TStringBuf value) const noexcept; @@ -76,7 +76,7 @@ public: * @note The returned value is CGI-unescaped. */ Y_PURE_FUNCTION - const TString& Get(const TStringBuf name, size_t numOfValue = 0) const noexcept; + const TString& Get(const TStringBuf name, size_t numOfValue = 0) const noexcept Y_LIFETIME_BOUND; void InsertEscaped(const TStringBuf name, const TStringBuf value); @@ -116,24 +116,24 @@ public: bool Erase(const TStringBuf name, const TStringBuf val); bool ErasePattern(const TStringBuf name, const TStringBuf pat); - inline const char* FormField(const TStringBuf name, size_t numOfValue = 0) const { + inline const char* FormField(const TStringBuf name, size_t numOfValue = 0) const Y_LIFETIME_BOUND { const_iterator it = Find(name, numOfValue); if (it == end()) { return nullptr; } - return it->second.data(); + return it->second.c_str(); } - inline TStringBuf FormFieldBuf(const TStringBuf name, size_t numOfValue = 0) const { + inline TStringBuf FormFieldBuf(const TStringBuf name, size_t numOfValue = 0) const Y_LIFETIME_BOUND { const_iterator it = Find(name, numOfValue); if (it == end()) { - return nullptr; + return TStringBuf{}; } - return it->second.data(); + return it->second; } }; |