dbus-c++ does not correctly handle messages with NULL interface
jonas at MIT.EDU
Wed May 20 08:19:54 PDT 2009
I've been using dbus-c++ for a while now, and it appears that it does
not correctly handle the case where dbus_message_get_interface returns
NULL. Looking at the invocation of find_interface within object.cpp
around line 200 or so, we see that it's passing char *interface to the
find_interface method which expects a std::string. c++ attempts the
automatic construction, which fails, and the app crashes.
I've poked around a little bit, and while it would be easy to have
dbus-c++ just fail to respond to messages with null interfaces, that
seems a bit suboptimal, as lots of code (including the python-dbus
example) does not explicitly have you accessing the proxy object through
the interface. But grafting on method-lookup code seems like a bit of
work too. Any suggestions/thoughts?
More information about the dbus