From 4f651f3aa7b635540ebd061c7b01dd6c153b4596 Mon Sep 17 00:00:00 2001 From: emaste Date: Mon, 25 Nov 2013 15:54:18 +0000 Subject: [PATCH] MFC r258426: 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. Sponsored by: DARPA, AFRL Approved by: re (gjb) git-svn-id: svn://svn.freebsd.org/base/stable/10@258558 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- contrib/libexecinfo/backtrace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/libexecinfo/backtrace.c b/contrib/libexecinfo/backtrace.c index 756a98255..7dbf0bbb1 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 -- 2.45.0