commit: 68b9b0bc2a11d144870d14fcb8ac24e6c9c63354 Author: William Hubbs <w.d.hubbs <AT> gmail <DOT> com> AuthorDate: Sat Feb 10 20:09:22 2018 +0000 Commit: William Hubbs <williamh <AT> gentoo <DOT> org> CommitDate: Sat Feb 10 20:49:40 2018 +0000 URL: https://gitweb.gentoo.org/proj/openrc.git/commit/?id=68b9b0bc
xasprintf: exit if return value of vsnprintf is invalid src/includes/helpers.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/includes/helpers.h b/src/includes/helpers.h index 3657ee74..6e0ad19f 100644 --- a/src/includes/helpers.h +++ b/src/includes/helpers.h @@ -158,15 +158,12 @@ _unused static int xasprintf(char **strp, const char *fmt, ...) va_start(ap, fmt); len = vsnprintf(ret, len + 1, fmt, ap); va_end(ap); - if (len >= memlen) { - /* Give up! */ - free(ret); - return -1; - } } - if (len < 0) { + if (len < 0 || len >= memlen) { + /* Give up! */ + fprintf(stderr, "xasprintf: unable to format a buffer\n"); free(ret); - return -1; + exit(1); } *strp = ret; return len;