diff options
Diffstat (limited to 'src/common/log.c')
-rw-r--r-- | src/common/log.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/common/log.c b/src/common/log.c index 4e5a69f1a6..3a4f32e176 100644 --- a/src/common/log.c +++ b/src/common/log.c @@ -143,15 +143,14 @@ static INLINE char *format_msg(char *buf, size_t buf_len, /* The message was too long; overwrite the end of the buffer with * "[...truncated]" */ if (buf_len >= TRUNCATED_STR_LEN) { - /* This is safe, since we have an extra character after buf_len - to hold the \0. */ - strlcpy(buf+buf_len-TRUNCATED_STR_LEN, TRUNCATED_STR, - buf_len-(buf_len-TRUNCATED_STR_LEN-1)); + int offset = buf_len-TRUNCATED_STR_LEN; + /* We have an extra 2 characters after buf_len to hold the \n\0, + * so it's safe to add 1 to the size here. */ + strlcpy(buf+offset, TRUNCATED_STR, buf_len-offset+1); } /* Set 'n' to the end of the buffer, where we'll be writing \n\0. * Since we already subtracted 2 from buf_len, this is safe.*/ n = buf_len; - } else { n += r; } |