]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
2003-05-03 Havoc Pennington <hp@redhat.com>
authorHavoc Pennington <hp@redhat.com>
Sat, 3 May 2003 23:20:34 +0000 (23:20 +0000)
committerHavoc Pennington <hp@redhat.com>
Sat, 3 May 2003 23:20:34 +0000 (23:20 +0000)
* dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
the address had no value, and add to test suite. Fix and
regression test from Miloslav Trmac

ChangeLog
dbus/dbus-address.c

index d784240b1eceb1e9c5f0943771ade538f1c032d4..d13a78d302129e136546280a94ab3948662a04aa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-05-03  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
+       the address had no value, and add to test suite. Fix and
+       regression test from Miloslav Trmac
+
 2003-05-03  Havoc Pennington  <hp@pobox.com>
 
        * bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
index d309922218713736342f7e5105c87e2b47090516..bf9dbc3b7994ba70d0683a9c46a2d8dce993f2f0 100644 (file)
@@ -232,8 +232,8 @@ dbus_parse_address (const char         *address,
          if (!_dbus_string_find_to (&str, pos, end_pos, ",", &comma_pos))
            comma_pos = end_pos;
          
-         if (!_dbus_string_find (&str, pos, "=", &equals_pos) ||
-             equals_pos == pos || equals_pos + 1 == end_pos)
+         if (!_dbus_string_find_to (&str, pos, comma_pos, "=", &equals_pos) ||
+             equals_pos == pos || equals_pos + 1 == comma_pos)
            {
              dbus_set_error (error, DBUS_ERROR_BAD_ADDRESS,
                               "'=' character not found or has no value following it");
@@ -430,7 +430,12 @@ _dbus_address_test (void)
     _dbus_assert_not_reached ("Parsed incorrect address.");
   else
     dbus_error_free (&error);
-  
+
+  if (dbus_parse_address ("foo:foo,bar=baz", &entries, &len, &error))
+    _dbus_assert_not_reached ("Parsed incorrect address.");
+  else
+    dbus_error_free (&error);
+
   return TRUE;
 }