]> granicus.if.org Git - strace/commitdiff
* strace.c (verror_msg): Rewrite without use of heap memory allocation
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 9 Jun 2011 15:50:41 +0000 (15:50 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 9 Jun 2011 15:50:41 +0000 (15:50 +0000)
strace.c

index d5579d3446ed71f76c6275a8f389fb7316b9128a..6af0e1add0a712f4a1ad7311364afea38ba50a5e 100644 (file)
--- 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, ...)