From 7350f7826db74beb0bb05a5409b1460d1934d8b6 Mon Sep 17 00:00:00 2001 From: dan Date: Sun, 1 Oct 2000 03:05:25 +0000 Subject: [PATCH] Fixed buffer overflow problems --- WINGs/error.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/WINGs/error.c b/WINGs/error.c index 4dd0ece3..b60d573f 100644 --- a/WINGs/error.c +++ b/WINGs/error.c @@ -76,7 +76,7 @@ wfatal(const char *msg, ...) va_start(args, msg); - vsprintf(buf, msg, args); + vsnprintf(buf, MAXLINE-3, msg, args); strcat(buf,"\n"); fflush(stdout); fputs(_WINGS_progname, stderr); @@ -103,7 +103,7 @@ wwarning(const char *msg, ...) va_start(args, msg); - vsprintf(buf, msg, args); + vsnprintf(buf, MAXLINE-3, msg, args); strcat(buf,"\n"); fflush(stdout); fputs(_WINGS_progname, stderr); @@ -130,14 +130,14 @@ wsyserror(const char *msg, ...) int error=errno; va_start(args, msg); - vsprintf(buf, msg, args); + vsnprintf(buf, MAXLINE-3, msg, args); fflush(stdout); fputs(_WINGS_progname, stderr); fputs(" error: ", stderr); - strcat(buf, ": "); - strcat(buf, wstrerror(error)); - strcat(buf,"\n"); fputs(buf, stderr); + fputs(": ", stderr); + fputs(wstrerror(error), stderr); + fputs("\n", stderr); fflush(stderr); fflush(stdout); va_end(args); @@ -159,14 +159,14 @@ wsyserrorwithcode(int error, const char *msg, ...) char buf[MAXLINE]; va_start(args, msg); - vsprintf(buf, msg, args); + vsnprintf(buf, MAXLINE-3, msg, args); fflush(stdout); fputs(_WINGS_progname, stderr); fputs(" error: ", stderr); - strcat(buf, ": "); - strcat(buf, wstrerror(error)); - strcat(buf,"\n"); fputs(buf, stderr); + fputs(": ", stderr); + fputs(wstrerror(error), stderr); + fputs("\n", stderr); fflush(stderr); fflush(stdout); va_end(args);