aboutsummaryrefslogtreecommitdiff
path: root/src/daemon/https/tls/gnutls_str.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/daemon/https/tls/gnutls_str.c')
-rw-r--r--src/daemon/https/tls/gnutls_str.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/daemon/https/tls/gnutls_str.c b/src/daemon/https/tls/gnutls_str.c
index 22f949d6..d5e95366 100644
--- a/src/daemon/https/tls/gnutls_str.c
+++ b/src/daemon/https/tls/gnutls_str.c
@@ -236,12 +236,18 @@ mhd_gtls_string_append_printf (mhd_gtls_string * dest, const char *fmt, ...)
236 char *str; 236 char *str;
237 237
238 va_start (args, fmt); 238 va_start (args, fmt);
239 len = vasprintf (&str, fmt, args); 239 len = vsnprintf (NULL, 0, fmt, args);
240 va_end (args); 240 va_end (args);
241 241 if (len < 0)
242 if (len < 0 || !str) 242 return -1;
243 str = malloc(len + 1);
244 if (! str)
243 return -1; 245 return -1;
244 246
247 va_start (args, fmt);
248 len = vsprintf (str, fmt, args);
249 va_end (args);
250
245 len = mhd_gtls_string_append_str (dest, str); 251 len = mhd_gtls_string_append_str (dest, str);
246 252
247 free (str); 253 free (str);