- if (precision == -1)
- p += sprintf(p, "%s:%d", ev->fileName, ev->lineNum);
- else {
- p += snprintf(p, precision, "%s:%d", ev->fileName, ev->lineNum);
+ if (precision == -1) {
+ p += snprintf(p,XBT_LOG_BUFF_SIZE-(p-ev->buffer), "%s:%d", ev->fileName, ev->lineNum);
+ check_overflow;
+ } else {
+ p += snprintf(p, (int)MIN(XBT_LOG_BUFF_SIZE-(p-ev->buffer),precision), "%s:%d", ev->fileName, ev->lineNum);
+ check_overflow;