/* alloc palce for fds */
fds = dbus_malloc (sizeof (int) * (n_fds + 1));
+ if (fds == NULL)
+ {
+ ret_size = -1;
+ kdbus_close_message (transport, msg_reply);
+ dbus_free (data);
+ goto out;
+ }
/* decode dbus message */
ret = kdbus_decode_dbus_message (msg_reply, data,
{
ret_size = -1;
kdbus_close_message (transport, msg_reply);
+ dbus_free (fds);
dbus_free (data);
goto out;
}
if (!dbus_message_iter_append_basic (&array_iter,
DBUS_TYPE_STRING,
&name_ptr))
- goto oom_iterator;
+ {
+ if (flags & KDBUS_LIST_QUEUED)
+ free (name_ptr);
+ goto oom_iterator;
+ }
if (flags & KDBUS_LIST_QUEUED)
free (name_ptr);