[Bug 1098723] Re: dbus_message_iter_open_container called with an invalid signature

Charbonnier charboma38 at gmail.com
Sun Aug 31 12:09:27 UTC 2014


Any way to get this bug fixed? I'm getting bored to compile this lib
again and again every 6 months...

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dbus-c++ in Ubuntu.
https://bugs.launchpad.net/bugs/1098723

Title:
  dbus_message_iter_open_container called with an invalid signature

Status in “dbus-c++” package in Ubuntu:
  New

Bug description:
  Hi!

  This is an old bug which generate the this exception:

  arguments to dbus_message_iter_open_container() were incorrect,
  assertion "(type == DBUS_TYPE_STRUCT && contained_signature == NULL)
  || (type == DBUS_TYPE_DICT_ENTRY && contained_signature == NULL) ||
  (type == DBUS_TYPE_VARIANT && contained_signature != NULL) || (type ==
  DBUS_TYPE_ARRAY && contained_signature != NULL)" failed in file
  ../../dbus/dbus-message.c line 2727.

  
  This bug has been already reported on sourceforge, but never corrected.
  http://sourceforge.net/p/dbus-cplusplus/bugs/5/

  However, the solution is simple and already applied on several dbus-c++ forks:
  - in the "async" version maintained by sjames at git://gitorious.org/~sjames/dbus-cplusplus/async.git
  - Chromium has the same correction. The log associated with the commit is at:
  http://git.chromium.org/gitweb/?p=chromiumos/third_party/dbus-cplusplus.git;a=commit;h=32fe2ce6a60f6f9e5771c639598050798a4feae8

  Basically, the correction is very simple:

  diff --git a/src/message.cpp b/src/message.cpp
  index 3f0cac4..7afa49b 100644
  --- a/src/message.cpp
  +++ b/src/message.cpp
  @@ -350,7 +350,7 @@ void MessageIter::copy_data(MessageIter &to)
         (
           (DBusMessageIter *) & (to._iter),
           from.type(),
  -        from.type() == DBUS_TYPE_VARIANT ? NULL : sig,
  +        (from.type() == DBUS_TYPE_STRUCT) || (from.type() == DBUS_TYPE_DICT_ENTRY) ? NULL : sig,
           (DBusMessageIter *) & (to_container._iter)
         );

  I would be glad to see this bug corrected in ubuntu.

  Best regards,
  Bigfoot.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dbus-c++/+bug/1098723/+subscriptions



More information about the foundations-bugs mailing list