Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88087
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
const char *format,
va_list args)
{
+ dbus_bool_t ret = FALSE;
int len;
va_list args_copy;
len = _dbus_printf_string_upper_bound (format, args);
if (len < 0)
- return FALSE;
+ goto out;
if (!_dbus_string_lengthen (str, len))
{
- /* don't leak the copy */
- va_end (args_copy);
- return FALSE;
+ goto out;
}
vsprintf ((char*) (real->str + (real->len - len)),
format, args_copy);
+ ret = TRUE;
+out:
va_end (args_copy);
- return TRUE;
+ return ret;
}
/**