mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 21:30:45 +01:00
Adopt absl::string_view in rtc_base/string_utils*
Bug: webrtc:13579 Change-Id: I2def83ae546156ff0ec8ef000b7ed0c48d15777c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256721 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Ali Tofigh <alito@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36329}
This commit is contained in:
parent
58d861c47f
commit
e5b2220650
3 changed files with 7 additions and 15 deletions
|
@ -282,7 +282,7 @@ HttpAuthResult HttpAuthenticate(const char* challenge,
|
|||
// std::string decoded = username + ":" + password;
|
||||
size_t len = username.size() + password.GetLength() + 2;
|
||||
char* sensitive = new char[len];
|
||||
size_t pos = strcpyn(sensitive, len, username.data(), username.size());
|
||||
size_t pos = strcpyn(sensitive, len, username);
|
||||
pos += strcpyn(sensitive + pos, len - pos, ":");
|
||||
password.CopyTo(sensitive + pos, true);
|
||||
|
||||
|
@ -322,9 +322,9 @@ HttpAuthResult HttpAuthenticate(const char* challenge,
|
|||
// std::string A1 = username + ":" + realm + ":" + password;
|
||||
size_t len = username.size() + realm.size() + password.GetLength() + 3;
|
||||
char* sensitive = new char[len]; // A1
|
||||
size_t pos = strcpyn(sensitive, len, username.data(), username.size());
|
||||
size_t pos = strcpyn(sensitive, len, username);
|
||||
pos += strcpyn(sensitive + pos, len - pos, ":");
|
||||
pos += strcpyn(sensitive + pos, len - pos, realm.c_str());
|
||||
pos += strcpyn(sensitive + pos, len - pos, realm);
|
||||
pos += strcpyn(sensitive + pos, len - pos, ":");
|
||||
password.CopyTo(sensitive + pos, true);
|
||||
|
||||
|
|
|
@ -14,20 +14,15 @@
|
|||
|
||||
namespace rtc {
|
||||
|
||||
size_t strcpyn(char* buffer,
|
||||
size_t buflen,
|
||||
const char* source,
|
||||
size_t srclen /* = SIZE_UNKNOWN */) {
|
||||
size_t strcpyn(char* buffer, size_t buflen, absl::string_view source) {
|
||||
if (buflen <= 0)
|
||||
return 0;
|
||||
|
||||
if (srclen == SIZE_UNKNOWN) {
|
||||
srclen = strlen(source);
|
||||
}
|
||||
size_t srclen = source.length();
|
||||
if (srclen >= buflen) {
|
||||
srclen = buflen - 1;
|
||||
}
|
||||
memcpy(buffer, source, srclen);
|
||||
memcpy(buffer, source.data(), srclen);
|
||||
buffer[srclen] = 0;
|
||||
return srclen;
|
||||
}
|
||||
|
|
|
@ -51,10 +51,7 @@ struct AbslStringViewCmp {
|
|||
};
|
||||
|
||||
// Safe version of strncpy that always nul-terminate.
|
||||
size_t strcpyn(char* buffer,
|
||||
size_t buflen,
|
||||
const char* source,
|
||||
size_t srclen = SIZE_UNKNOWN);
|
||||
size_t strcpyn(char* buffer, size_t buflen, absl::string_view source);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// UTF helpers (Windows only)
|
||||
|
|
Loading…
Reference in a new issue