Title: [92914] trunk/Source/WebKit2
- Revision
- 92914
- Author
- [email protected]
- Date
- 2011-08-11 21:16:55 -0700 (Thu, 11 Aug 2011)
Log Message
VectorArgumentCoder doesn't encode/decode enough data for more than one byte vector elements
https://bugs.webkit.org/show_bug.cgi?id=66109
Patch by Viatcheslav Ostapenko <[email protected]> on 2011-08-11
Reviewed by Anders Carlsson.
Multiply vector size by element size in encode/decode to get correct byte size of vector data.
* Platform/CoreIPC/ArgumentCoders.h:
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (92913 => 92914)
--- trunk/Source/WebKit2/ChangeLog 2011-08-12 04:11:41 UTC (rev 92913)
+++ trunk/Source/WebKit2/ChangeLog 2011-08-12 04:16:55 UTC (rev 92914)
@@ -1,3 +1,14 @@
+2011-08-11 Viatcheslav Ostapenko <[email protected]>
+
+ VectorArgumentCoder doesn't encode/decode enough data for more than one byte vector elements
+ https://bugs.webkit.org/show_bug.cgi?id=66109
+
+ Reviewed by Anders Carlsson.
+
+ Multiply vector size by element size in encode/decode to get correct byte size of vector data.
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+
2011-08-11 Nico Weber <[email protected]>
Remove incorrect comment about m_wheelEventHandlerCount
Modified: trunk/Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h (92913 => 92914)
--- trunk/Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h 2011-08-12 04:11:41 UTC (rev 92913)
+++ trunk/Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h 2011-08-12 04:16:55 UTC (rev 92914)
@@ -107,7 +107,7 @@
static void encode(ArgumentEncoder* encoder, const Vector<T>& vector)
{
encoder->encodeUInt64(vector.size());
- encoder->encodeFixedLengthData(reinterpret_cast<const uint8_t*>(vector.data()), vector.size(), __alignof(T));
+ encoder->encodeFixedLengthData(reinterpret_cast<const uint8_t*>(vector.data()), vector.size() * sizeof(T), __alignof(T));
}
static bool decode(ArgumentDecoder* decoder, Vector<T>& vector)
@@ -127,7 +127,7 @@
Vector<T> temp;
temp.resize(size);
- decoder->decodeFixedLengthData(reinterpret_cast<uint8_t*>(temp.data()), size, __alignof(T));
+ decoder->decodeFixedLengthData(reinterpret_cast<uint8_t*>(temp.data()), size * sizeof(T), __alignof(T));
vector.swap(temp);
return true;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes