From: Scott James Remnant Date: Thu, 9 Jul 2009 15:35:13 +0000 (+0100) Subject: dbus_message_append_args_valist - abandon container X-Git-Tag: dbus-1.2.16~21 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=951b0c8007fca2a5add7402cb1e260bdefaf0461;p=thirdparty%2Fdbus.git dbus_message_append_args_valist - abandon container In case of OOM when constructing an array, we should abandon the container to free the resources. Signed-off-by: Scott James Remnant (cherry picked from commit 3f070088232f82fafce97c4fb3015da098fe00bf) --- diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index 30b5d6c0b..98c284ed1 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -1567,8 +1567,10 @@ dbus_message_append_args_valist (DBusMessage *message, if (!dbus_message_iter_append_fixed_array (&array, element_type, value, - n_elements)) + n_elements)) { + dbus_message_iter_abandon_container (&iter, &array); goto failed; + } } else if (element_type == DBUS_TYPE_STRING || element_type == DBUS_TYPE_SIGNATURE || @@ -1589,8 +1591,10 @@ dbus_message_append_args_valist (DBusMessage *message, { if (!dbus_message_iter_append_basic (&array, element_type, - &value[i])) + &value[i])) { + dbus_message_iter_abandon_container (&iter, &array); goto failed; + } ++i; } }