From 44d053218ba658c901c3ab7dd905ab31ba417286 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Thu, 9 Jun 2011 15:50:41 +0000 Subject: [PATCH] * strace.c (verror_msg): Rewrite without use of heap memory allocation --- strace.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/strace.c b/strace.c index d5579d34..6af0e1ad 100644 --- a/strace.c +++ b/strace.c @@ -228,18 +228,14 @@ static void die(void) static void verror_msg(int err_no, const char *fmt, va_list p) { - char *msg; - - msg = NULL; - vasprintf(&msg, fmt, p); - if (msg) { - fflush(NULL); - if (err_no) - fprintf(stderr, "%s: %s: %s\n", progname, msg, strerror(err_no)); - else - fprintf(stderr, "%s: %s\n", progname, msg); - free(msg); - } + fflush(NULL); + fprintf(stderr, "%s: ", progname); + vfprintf(stderr, fmt, p); + if (err_no) + fprintf(stderr, ": %s\n", strerror(err_no)); + else + putc('\n', stderr); + fflush(stderr); } void error_msg(const char *fmt, ...) -- 2.50.1