From: Michael Jumper Date: Fri, 16 Mar 2012 02:24:16 +0000 (-0700) Subject: Use args list only once. Probably better to use an intermediate buffer anyway. X-Git-Url: http://git.alex.org.uk Use args list only once. Probably better to use an intermediate buffer anyway. --- 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); }