File dbus-1.2.10-signature-validation.patch of Package dbus-1

Index: dbus-1.2.10/dbus/dbus-marshal-validate-util.c
===================================================================
--- dbus-1.2.10.orig/dbus/dbus-marshal-validate-util.c
+++ dbus-1.2.10/dbus/dbus-marshal-validate-util.c
@@ -227,7 +227,7 @@ _dbus_marshal_validate_test (void)
     "not a valid signature",
     "123",
     ".",
-    "("
+    "(",
     "a{(ii)i}" /* https://bugs.freedesktop.org/show_bug.cgi?id=17803 */
   };
 
Index: dbus-1.2.10/dbus/dbus-marshal-validate.c
===================================================================
--- dbus-1.2.10.orig/dbus/dbus-marshal-validate.c
+++ dbus-1.2.10/dbus/dbus-marshal-validate.c
@@ -246,14 +246,15 @@ _dbus_validate_signature_with_reason (co
 	    }
         }
 
-      if (last == DBUS_DICT_ENTRY_BEGIN_CHAR &&
-          _dbus_type_is_valid (*p) &&
-          !dbus_type_is_basic (*p))
+      if (last == DBUS_DICT_ENTRY_BEGIN_CHAR)
         {
-          result = DBUS_INVALID_DICT_KEY_MUST_BE_BASIC_TYPE;
-          goto out;
+          if (!(_dbus_type_is_valid (*p) && dbus_type_is_basic (*p)))
+            {
+              result = DBUS_INVALID_DICT_KEY_MUST_BE_BASIC_TYPE;
+              goto out;
+            }
         }
-        
+
       last = *p;
       ++p;
     }
openSUSE Build Service is sponsored by