From 3e7aca6f4e25e87cc473a4c0c5a0a6eb4671fde4 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Thu, 21 Nov 2013 14:12:36 +0000 Subject: libexecinfo: Include terminating null in byte count Otherwise, a formatted string with a strlen equal to the remaining buffer space would have the last character omitted (because vsnprintf always null-terminates), and later the assert in backtrace_symbols_fmt would fail. MFC after: 3 days Sponsored by: DARPA, AFRL --- contrib/libexecinfo/backtrace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'contrib/libexecinfo') diff --git a/contrib/libexecinfo/backtrace.c b/contrib/libexecinfo/backtrace.c index 756a98255615..7dbf0bbb1755 100644 --- a/contrib/libexecinfo/backtrace.c +++ b/contrib/libexecinfo/backtrace.c @@ -89,7 +89,7 @@ rasprintf(char **buf, size_t *bufsiz, size_t offs, const char *fmt, ...) len = vsnprintf(*buf + offs, *bufsiz - offs, fmt, ap); va_end(ap); - if (len < 0 || (size_t)len < *bufsiz - offs) + if (len < 0 || (size_t)len + 1 < *bufsiz - offs) return len; nbufsiz = MAX(*bufsiz + 512, (size_t)len + 1); } else -- cgit v1.2.3