mirror of git://git.sysmocom.de/ofono
gdbus: invaldate_parent_data: walk the whole path down
Assume there is only one object registerd at "/". If we add a new object at "/foo/bar" the introspection of "/" has to be updated. A new node has to be added at "/". invalidate_parent_data stops invaldating the whole path because the boolean return value of dbus_connection_get_object_path_data is used wrong. If we get a TRUE just go on down in the path, if FALSE is return dbus_connection_get_object_path_data has run out of memory.
This commit is contained in:
parent
754be710d5
commit
28ec0e2174
|
@ -475,12 +475,13 @@ static void invalidate_parent_data(DBusConnection *conn, const char *child_path)
|
|||
if (!strlen(parent_path))
|
||||
goto done;
|
||||
|
||||
if (!dbus_connection_get_object_path_data(conn, parent_path,
|
||||
(void *) &data)) {
|
||||
invalidate_parent_data(conn, parent_path);
|
||||
if (dbus_connection_get_object_path_data(conn, parent_path,
|
||||
(void *) &data) == FALSE) {
|
||||
goto done;
|
||||
}
|
||||
|
||||
invalidate_parent_data(conn, parent_path);
|
||||
|
||||
if (data == NULL)
|
||||
goto done;
|
||||
|
||||
|
|
Loading…
Reference in New Issue