http://cgit.freedesktop.org/dbus/dbus/commit/?h=dbus-1.2&id=6519a1f77c61d753d4c97efd6e15630eb275336e
27 lines
972 B
Text
27 lines
972 B
Text
$NetBSD: patch-CVE-2011-2200,v 1.1 2011/06/13 22:06:39 tez Exp $
|
|
|
|
Patch for CVE-2011-2200 from http://cgit.freedesktop.org/dbus/dbus/commit/?h=dbus-1.2&id=6519a1f77c61d753d4c97efd6e15630eb275336e
|
|
|
|
--- dbus/dbus-marshal-header.c.orig 2011-06-13 16:48:26.166342800 -0500
|
|
+++ dbus/dbus-marshal-header.c 2011-06-13 16:52:02.755479400 -0500
|
|
@@ -1462,14 +1462,20 @@
|
|
_dbus_header_byteswap (DBusHeader *header,
|
|
int new_order)
|
|
{
|
|
+ unsigned char byte_order;
|
|
+
|
|
if (header->byte_order == new_order)
|
|
return;
|
|
|
|
+ byte_order = _dbus_string_get_byte (&header->data, BYTE_ORDER_OFFSET);
|
|
+ _dbus_assert (header->byte_order == byte_order);
|
|
+
|
|
_dbus_marshal_byteswap (&_dbus_header_signature_str,
|
|
0, header->byte_order,
|
|
new_order,
|
|
&header->data, 0);
|
|
|
|
+ _dbus_string_set_byte (&header->data, BYTE_ORDER_OFFSET, new_order);
|
|
header->byte_order = new_order;
|
|
}
|
|
|