From 5cfd88211415db40a7b8eaa8735e668f2bc1ab97 Mon Sep 17 00:00:00 2001 From: mquinson Date: Tue, 20 May 2008 20:50:37 +0000 Subject: [PATCH] Do append the right buffer to the message when we switched to dynamic logs; be more paranoid on static buffer overflow git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5456 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/xbt/xbt_log_layout_format.c | 1 + src/xbt/xbt_log_layout_simple.c | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/xbt/xbt_log_layout_format.c b/src/xbt/xbt_log_layout_format.c index 5e6bb17559..8aef6f5fa9 100644 --- a/src/xbt/xbt_log_layout_format.c +++ b/src/xbt/xbt_log_layout_format.c @@ -387,6 +387,7 @@ static void xbt_log_layout_format_doit(xbt_log_layout_t l, q++; } else { *(p++) = *(q++); + check_overflow; } } *p = '\0'; diff --git a/src/xbt/xbt_log_layout_simple.c b/src/xbt/xbt_log_layout_simple.c index 8b9c7b1086..867294cbe3 100644 --- a/src/xbt/xbt_log_layout_simple.c +++ b/src/xbt/xbt_log_layout_simple.c @@ -41,7 +41,7 @@ static void xbt_log_layout_simple_dynamic(xbt_log_layout_t l, p += snprintf(p,256-(p-ev->buffer), "[%s/%s] ", ev->cat->name, xbt_log_priority_names[ev->priority] ); - xbt_strbuff_append(buff,ev->buffer); + xbt_strbuff_append(buff,loc_buff); vasprintf(&p,fmt,ev->ap_copy); xbt_strbuff_append(buff,p); @@ -77,14 +77,18 @@ static void xbt_log_layout_simple_doit(xbt_log_layout_t l, p = ev->buffer; p += snprintf(p,XBT_LOG_BUFF_SIZE-(p-ev->buffer),"["); + check_overflow; /* Display the proc info if available */ - if(strlen(xbt_procname())) + if(strlen(xbt_procname())) { p += snprintf(p,XBT_LOG_BUFF_SIZE-(p-ev->buffer),"%s:%s:(%d) ", gras_os_myname(), xbt_procname(),(*xbt_getpid)()); - + check_overflow; + } + /* Display the date */ p += snprintf(p,XBT_LOG_BUFF_SIZE-(p-ev->buffer),"%f] ", gras_os_time()-begin_of_time); + check_overflow; /* Display file position if not INFO*/ if (ev->priority != xbt_log_priority_info) -- 2.20.1