Title: [212781] trunk/Source/WebKit2
- Revision
- 212781
- Author
- [email protected]
- Date
- 2017-02-21 17:07:10 -0800 (Tue, 21 Feb 2017)
Log Message
[WebRTC] WebKit2 should assert that libwebrtc transmitted IP addresses family is IP4 or IP6
https://bugs.webkit.org/show_bug.cgi?id=168691
Patch by Youenn Fablet <[email protected]> on 2017-02-21
Reviewed by Alex Christensen.
Adding some asserts that family is IPv4 or IPv6.
* Shared/RTCNetwork.cpp:
(WebKit::RTCNetwork::IPAddress::decode):
(WebKit::RTCNetwork::IPAddress::encode):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (212780 => 212781)
--- trunk/Source/WebKit2/ChangeLog 2017-02-22 01:05:13 UTC (rev 212780)
+++ trunk/Source/WebKit2/ChangeLog 2017-02-22 01:07:10 UTC (rev 212781)
@@ -1,3 +1,16 @@
+2017-02-21 Youenn Fablet <[email protected]>
+
+ [WebRTC] WebKit2 should assert that libwebrtc transmitted IP addresses family is IP4 or IP6
+ https://bugs.webkit.org/show_bug.cgi?id=168691
+
+ Reviewed by Alex Christensen.
+
+ Adding some asserts that family is IPv4 or IPv6.
+
+ * Shared/RTCNetwork.cpp:
+ (WebKit::RTCNetwork::IPAddress::decode):
+ (WebKit::RTCNetwork::IPAddress::encode):
+
2017-02-20 Simon Fraser <[email protected]>
Add support to PlatformCALayer/GraphicsLayerCA for subpixel-antialiased text, with a Setting and a MiniBrowser switch
Modified: trunk/Source/WebKit2/Shared/RTCNetwork.cpp (212780 => 212781)
--- trunk/Source/WebKit2/Shared/RTCNetwork.cpp 2017-02-22 01:05:13 UTC (rev 212780)
+++ trunk/Source/WebKit2/Shared/RTCNetwork.cpp 2017-02-22 01:07:10 UTC (rev 212781)
@@ -65,9 +65,13 @@
int family;
if (!decoder.decode(family))
return false;
+
+ ASSERT(family == AF_INET || family == AF_INET6);
+
IPC::DataReference data;
if (!decoder.decode(data))
return false;
+
if (family == AF_INET) {
if (data.size() != sizeof(in_addr))
return false;
@@ -74,6 +78,7 @@
result.value = rtc::IPAddress(*reinterpret_cast<const in_addr*>(data.data()));
return true;
}
+
if (data.size() != sizeof(in6_addr))
return false;
result.value = rtc::IPAddress(*reinterpret_cast<const in6_addr*>(data.data()));
@@ -82,12 +87,16 @@
void RTCNetwork::IPAddress::encode(IPC::Encoder& encoder) const
{
- encoder << value.family();
- if (value.family() == AF_INET) {
+ auto family = value.family();
+ ASSERT(family == AF_INET || family == AF_INET6);
+ encoder << family;
+
+ if (family == AF_INET) {
auto address = value.ipv4_address();
encoder << IPC::DataReference(reinterpret_cast<const uint8_t*>(&address), sizeof(address));
return;
}
+
auto address = value.ipv6_address();
encoder << IPC::DataReference(reinterpret_cast<const uint8_t*>(&address), sizeof(address));
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes