summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2008-10-06 18:28:01 +0000
committerDoug Goldstein <cardoe@gentoo.org>2008-10-06 18:28:01 +0000
commitac092c03a3c5e713c6e8dc2c7d86e7f0ce98ce23 (patch)
treede244b5516d11a60315d3ba2339eedd8fbf9e6a8 /sys-apps/dbus/files
parentStable on sparc, bug #239851 (diff)
downloadgentoo-2-ac092c03a3c5e713c6e8dc2c7d86e7f0ce98ce23.tar.gz
gentoo-2-ac092c03a3c5e713c6e8dc2c7d86e7f0ce98ce23.tar.bz2
gentoo-2-ac092c03a3c5e713c6e8dc2c7d86e7f0ce98ce23.zip
Fix potential DoS issue. fdo bug #17803. Gentoo bug #240308
(Portage version: 2.2_rc11/cvs/Linux 2.6.26-gentoo-r1 x86_64)
Diffstat (limited to 'sys-apps/dbus/files')
-rw-r--r--sys-apps/dbus/files/dbus-1.2.3-panic-from-dbus_signature_validate.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/sys-apps/dbus/files/dbus-1.2.3-panic-from-dbus_signature_validate.patch b/sys-apps/dbus/files/dbus-1.2.3-panic-from-dbus_signature_validate.patch
new file mode 100644
index 000000000000..772da176822a
--- /dev/null
+++ b/sys-apps/dbus/files/dbus-1.2.3-panic-from-dbus_signature_validate.patch
@@ -0,0 +1,32 @@
+From: Colin Walters <walters@verbum.org>
+Date: Wed, 1 Oct 2008 17:49:48 +0000 (-0400)
+Subject: Bug 17803: Panic from dbus_signature_validate
+X-Git-Url: http://gitweb.freedesktop.org/?p=dbus/dbus.git;a=commitdiff;h=7b10b46c5c8658449783ce45f1273dd35c353bce
+
+Bug 17803: Panic from dbus_signature_validate
+
+ * dbus/dbus-marshal-validate.c: Ensure we validate
+ a basic type before calling is_basic on it.
+ * dbus-marshal-validate-util.c: Test.
+---
+
+--- a/dbus/dbus-marshal-validate-util.c
++++ b/dbus/dbus-marshal-validate-util.c
+@@ -228,6 +228,7 @@ _dbus_marshal_validate_test (void)
+ "123",
+ ".",
+ "("
++ "a{(ii)i}" /* https://bugs.freedesktop.org/show_bug.cgi?id=17803 */
+ };
+
+ /* Signature with reason */
+--- a/dbus/dbus-marshal-validate.c
++++ b/dbus/dbus-marshal-validate.c
+@@ -247,6 +247,7 @@ _dbus_validate_signature_with_reason (co
+ }
+
+ if (last == DBUS_DICT_ENTRY_BEGIN_CHAR &&
++ _dbus_type_is_valid (*p) &&
+ !dbus_type_is_basic (*p))
+ {
+ result = DBUS_INVALID_DICT_KEY_MUST_BE_BASIC_TYPE;