new_path->properties = g_hash_table_new_full ((GHashFunc)str_pair_hash,
str_pair_equal,
g_free,
- NULL);
+ g_free);
new_path->introspect_children_cb = introspect_children_cb;
new_path->introspect_children_data = introspect_children_data;
g_free (path->path);
g_string_chunk_free (path->chunks);
g_ptr_array_free (path->interfaces, TRUE);
- g_ptr_array_free (path->introspection, FALSE);
+ g_free(g_ptr_array_free (path->introspection, FALSE));
g_hash_table_destroy (path->methods);
g_hash_table_destroy (path->properties);
+ g_free (path);
}
static void *
droute_free (DRouteContext *cnx)
{
g_ptr_array_foreach (cnx->registered_paths, (GFunc) path_free, NULL);
+ g_ptr_array_free (cnx->registered_paths, TRUE);
g_free (cnx);
}
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_STRING, &iface, DBUS_TYPE_INVALID))
- return dbus_message_new_error (message, DBUS_ERROR_FAILED, error.message);
+ {
+ DBusMessage *ret;
+ ret = dbus_message_new_error (message, DBUS_ERROR_FAILED, error.message);
+ dbus_error_free (&error);
+ return ret;
+ }
reply = dbus_message_new_method_return (message);
if (!reply)
DBUS_TYPE_STRING,
&(pair.two),
DBUS_TYPE_INVALID))
- return dbus_message_new_error (message, DBUS_ERROR_FAILED, error.message);
+ {
+ DBusMessage *ret;
+ ret = dbus_message_new_error (message, DBUS_ERROR_FAILED, error.message);
+ dbus_error_free (&error);
+ }
_DROUTE_DEBUG ("DRoute (handle prop): %s|%s on %s\n", pair.one, pair.two, pathstr);
prop_funcs = (PropertyPair *) g_hash_table_lookup (path->properties, &pair);
if (!prop_funcs)
+ {
+ DBusMessage *ret;
#ifdef DBUS_ERROR_UNKNOWN_PROPERTY
- return dbus_message_new_error (message, DBUS_ERROR_UNKNOWN_PROPERTY, "Property unavailable");
+ ret = dbus_message_new_error (message, DBUS_ERROR_UNKNOWN_PROPERTY, "Property unavailable");
#else
- return dbus_message_new_error (message, DBUS_ERROR_FAILED, "Property unavailable");
+ ret = dbus_message_new_error (message, DBUS_ERROR_FAILED, "Property unavailable");
#endif
+ dbus_error_free (&error);
+ return ret;
+ }
datum = path_get_datum (path, pathstr);
if (!datum)