From 121dc3d8b45c27d99ec6f217c5728d75a545c9d9 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 15 Mar 2012 19:24:16 -0700 Subject: [PATCH] Use args list only once. Probably better to use an intermediate buffer anyway. --- src/log.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/log.c b/src/log.c index bfd55db..1cdaed0 100644 --- a/src/log.c +++ b/src/log.c @@ -47,25 +47,29 @@ void vguacd_log_info(const char* format, va_list args) { + /* Copy log message into buffer */ + char message[2048]; + vsnprintf(message, sizeof(message), format, args); + /* Log to syslog */ - vsyslog(LOG_INFO, format, args); + syslog(LOG_INFO, "%s", message); /* Log to STDERR */ - fprintf(stderr, "guacd[%i]: INFO: ", getpid()); - vfprintf(stderr, format, args); - fprintf(stderr, "\n"); + fprintf(stderr, "guacd[%i]: INFO: %s\n", getpid(), message); } void vguacd_log_error(const char* format, va_list args) { + /* Copy log message into buffer */ + char message[2048]; + vsnprintf(message, sizeof(message), format, args); + /* Log to syslog */ - vsyslog(LOG_ERR, format, args); + syslog(LOG_ERR, "%s", message); /* Log to STDERR */ - fprintf(stderr, "guacd[%i]: ERROR: ", getpid()); - vfprintf(stderr, format, args); - fprintf(stderr, "\n"); + fprintf(stderr, "guacd[%i]: ERROR: %s\n", getpid(), message); } -- 1.7.10.4