1.1 --- a/ucx/logging.c Thu Sep 05 13:55:04 2013 +0200 1.2 +++ b/ucx/logging.c Fri Sep 06 13:20:20 2013 +0200 1.3 @@ -61,11 +61,13 @@ 1.4 free(logger); 1.5 } 1.6 1.7 +// estimated max. message length (documented) 1.8 +#define UCX_LOGGER_MSGMAX 4096 1.9 + 1.10 void ucx_logger_logf(UcxLogger *logger, unsigned int level, const char* file, 1.11 const unsigned int line, const char *format, ...) { 1.12 if (level <= logger->level) { 1.13 - const size_t max = 4096; // estimated max. message length (documented) 1.14 - char msg[max]; 1.15 + char msg[UCX_LOGGER_MSGMAX]; 1.16 char *text; 1.17 size_t k = 0; 1.18 size_t n; 1.19 @@ -85,14 +87,14 @@ 1.20 n = strlen(file); 1.21 memcpy(msg+k, file, n); 1.22 k += n; 1.23 - k += sprintf(msg+k, ":%d ", line); 1.24 + k += snprintf(msg+k, UCX_LOGGER_MSGMAX-k, ":%d ", line); 1.25 } 1.26 1.27 msg[k++] = '-'; msg[k++] = ' '; 1.28 1.29 va_list args; 1.30 va_start (args, format); 1.31 - k += vsnprintf(msg+k, max-k-1, format, args); 1.32 + k += vsnprintf(msg+k, UCX_LOGGER_MSGMAX-k-1, format, args); 1.33 va_end (args); 1.34 1.35 msg[k++] = '\n';