mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-20 09:07:52 +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;
|
// std::string decoded = username + ":" + password;
|
||||||
size_t len = username.size() + password.GetLength() + 2;
|
size_t len = username.size() + password.GetLength() + 2;
|
||||||
char* sensitive = new char[len];
|
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, ":");
|
pos += strcpyn(sensitive + pos, len - pos, ":");
|
||||||
password.CopyTo(sensitive + pos, true);
|
password.CopyTo(sensitive + pos, true);
|
||||||
|
|
||||||
|
@ -322,9 +322,9 @@ HttpAuthResult HttpAuthenticate(const char* challenge,
|
||||||
// std::string A1 = username + ":" + realm + ":" + password;
|
// std::string A1 = username + ":" + realm + ":" + password;
|
||||||
size_t len = username.size() + realm.size() + password.GetLength() + 3;
|
size_t len = username.size() + realm.size() + password.GetLength() + 3;
|
||||||
char* sensitive = new char[len]; // A1
|
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, ":");
|
||||||
pos += strcpyn(sensitive + pos, len - pos, realm.c_str());
|
pos += strcpyn(sensitive + pos, len - pos, realm);
|
||||||
pos += strcpyn(sensitive + pos, len - pos, ":");
|
pos += strcpyn(sensitive + pos, len - pos, ":");
|
||||||
password.CopyTo(sensitive + pos, true);
|
password.CopyTo(sensitive + pos, true);
|
||||||
|
|
||||||
|
|
|
@ -14,20 +14,15 @@
|
||||||
|
|
||||||
namespace rtc {
|
namespace rtc {
|
||||||
|
|
||||||
size_t strcpyn(char* buffer,
|
size_t strcpyn(char* buffer, size_t buflen, absl::string_view source) {
|
||||||
size_t buflen,
|
|
||||||
const char* source,
|
|
||||||
size_t srclen /* = SIZE_UNKNOWN */) {
|
|
||||||
if (buflen <= 0)
|
if (buflen <= 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (srclen == SIZE_UNKNOWN) {
|
size_t srclen = source.length();
|
||||||
srclen = strlen(source);
|
|
||||||
}
|
|
||||||
if (srclen >= buflen) {
|
if (srclen >= buflen) {
|
||||||
srclen = buflen - 1;
|
srclen = buflen - 1;
|
||||||
}
|
}
|
||||||
memcpy(buffer, source, srclen);
|
memcpy(buffer, source.data(), srclen);
|
||||||
buffer[srclen] = 0;
|
buffer[srclen] = 0;
|
||||||
return srclen;
|
return srclen;
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,10 +51,7 @@ struct AbslStringViewCmp {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Safe version of strncpy that always nul-terminate.
|
// Safe version of strncpy that always nul-terminate.
|
||||||
size_t strcpyn(char* buffer,
|
size_t strcpyn(char* buffer, size_t buflen, absl::string_view source);
|
||||||
size_t buflen,
|
|
||||||
const char* source,
|
|
||||||
size_t srclen = SIZE_UNKNOWN);
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// UTF helpers (Windows only)
|
// UTF helpers (Windows only)
|
||||||
|
|
Loading…
Reference in a new issue