From 506fd2d2e1939c70100eee533c8f3651094d59f1 Mon Sep 17 00:00:00 2001 From: Mathias Hasselmann Date: Sat, 16 Jun 2007 12:04:25 +0000 Subject: [PATCH] Correctly use g_printf_string_upper_bound in g_string_append_vprintf. 2007-06-16 Mathias Hasselmann * glib/gstring.c: Correctly use g_printf_string_upper_bound in g_string_append_vprintf. Fixes #447933. svn path=/trunk/; revision=5570 --- ChangeLog | 5 +++++ glib/gstring.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index cf2904ea4..3a996def4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-06-16 Mathias Hasselmann + + * glib/gstring.c: Correctly use g_printf_string_upper_bound + in g_string_append_vprintf. Fixes #447933. + 2007-06-15 Sebastian Wilhelmi * docs/reference/glib/tmpl/threads.sgml: Extended the comments on diff --git a/glib/gstring.c b/glib/gstring.c index bf15f5829..ed15223d8 100644 --- a/glib/gstring.c +++ b/glib/gstring.c @@ -1278,12 +1278,16 @@ g_string_append_vprintf (GString *string, const gchar *fmt, va_list args) { + va_list sneak; gsize length; g_return_if_fail (string != NULL); g_return_if_fail (fmt != NULL); - length = g_printf_string_upper_bound (fmt, args); + G_VA_COPY (sneak, args); + length = g_printf_string_upper_bound (fmt, sneak); + va_end (sneak); + g_string_maybe_expand (string, length); length = g_vsnprintf (string->str + string->len, length, fmt, args); string->len += length;