mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-27 04:38:02 +00:00
Bug 1668248 - Use fallible string operations in WebSocket::Send. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D91929
This commit is contained in:
parent
0778d12718
commit
f18e95d3c1
@ -2216,7 +2216,11 @@ void WebSocket::GetProtocol(nsAString& aProtocol) {
|
||||
void WebSocket::Send(const nsAString& aData, ErrorResult& aRv) {
|
||||
AssertIsOnTargetThread();
|
||||
|
||||
NS_ConvertUTF16toUTF8 msgString(aData);
|
||||
nsAutoCString msgString;
|
||||
if (!AppendUTF16toUTF8(aData, msgString, mozilla::fallible_t())) {
|
||||
aRv.Throw(NS_ERROR_FILE_TOO_BIG);
|
||||
return;
|
||||
}
|
||||
Send(nullptr, msgString, msgString.Length(), false, aRv);
|
||||
}
|
||||
|
||||
@ -2252,7 +2256,11 @@ void WebSocket::Send(const ArrayBuffer& aData, ErrorResult& aRv) {
|
||||
uint32_t len = aData.Length();
|
||||
char* data = reinterpret_cast<char*>(aData.Data());
|
||||
|
||||
nsDependentCSubstring msgString(data, len);
|
||||
nsDependentCSubstring msgString;
|
||||
if (!msgString.Assign(data, len, mozilla::fallible_t())) {
|
||||
aRv.Throw(NS_ERROR_FILE_TOO_BIG);
|
||||
return;
|
||||
}
|
||||
Send(nullptr, msgString, len, true, aRv);
|
||||
}
|
||||
|
||||
@ -2266,7 +2274,11 @@ void WebSocket::Send(const ArrayBufferView& aData, ErrorResult& aRv) {
|
||||
uint32_t len = aData.Length();
|
||||
char* data = reinterpret_cast<char*>(aData.Data());
|
||||
|
||||
nsDependentCSubstring msgString(data, len);
|
||||
nsDependentCSubstring msgString;
|
||||
if (!msgString.Assign(data, len, mozilla::fallible_t())) {
|
||||
aRv.Throw(NS_ERROR_FILE_TOO_BIG);
|
||||
return;
|
||||
}
|
||||
Send(nullptr, msgString, len, true, aRv);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user