summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sendmail/src/err.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/sendmail/src/err.c')
-rw-r--r--usr.sbin/sendmail/src/err.c41
1 files changed, 24 insertions, 17 deletions
diff --git a/usr.sbin/sendmail/src/err.c b/usr.sbin/sendmail/src/err.c
index 241a486..c231ef1 100644
--- a/usr.sbin/sendmail/src/err.c
+++ b/usr.sbin/sendmail/src/err.c
@@ -33,7 +33,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)err.c 8.42 (Berkeley) 11/29/95";
+static char sccsid[] = "@(#)err.c 8.42.1.2 (Berkeley) 9/16/96";
#endif /* not lint */
# include "sendmail.h"
@@ -137,7 +137,7 @@ syserr(fmt, va_alist)
else
{
uname = ubuf;
- sprintf(ubuf, "UID%d", getuid());
+ snprintf(ubuf, sizeof ubuf, "UID%d", getuid());
}
if (LogLevel > 0)
@@ -218,7 +218,7 @@ usrerr(fmt, va_alist)
{
char buf[MAXLINE];
- sprintf(buf, "Postmaster warning: %.*s",
+ snprintf(buf, sizeof buf, "Postmaster warning: %.*s",
sizeof buf - 22, MsgBuf + 4);
CurEnv->e_message = newstr(buf);
}
@@ -394,7 +394,7 @@ putoutmsg(msg, holdmsg, heldmsg)
{
/* save for possible future display */
msg[0] = msgcode;
- strcpy(HeldMessageBuf, msg);
+ snprintf(HeldMessageBuf, sizeof HeldMessageBuf, "%s", msg);
return;
}
@@ -511,7 +511,7 @@ fmtmsg(eb, to, num, eno, fmt, ap)
del = '-';
else
del = ' ';
- (void) sprintf(eb, "%3.3s%c", num, del);
+ (void) snprintf(eb, spaceleft, "%3.3s%c", num, del);
eb += 4;
spaceleft -= 4;
@@ -600,6 +600,7 @@ errstring(errnum)
int errnum;
{
char *dnsmsg;
+ char *bp;
static char buf[MAXLINE];
# ifndef ERRLIST_PREDEFINED
extern char *sys_errlist[];
@@ -621,30 +622,33 @@ errstring(errnum)
# if defined(DAEMON) && defined(ETIMEDOUT)
case ETIMEDOUT:
case ECONNRESET:
- (void) strcpy(buf, sys_errlist[errnum]);
+ bp = buf;
+ snprintf(bp, SPACELEFT(buf, bp), "%s", sys_errlist[errnum]);
+ bp += strlen(buf);
if (SmtpPhase != NULL)
{
- (void) strcat(buf, " during ");
- (void) strcat(buf, SmtpPhase);
+ snprintf(bp, SPACELEFT(buf, bp), " during %s",
+ SmtpPhase);
+ bp += strlen(bp);
}
if (CurHostName != NULL)
{
- (void) strcat(buf, " with ");
- (void) strcat(buf, CurHostName);
+ snprintf(bp, SPACELEFT(buf, bp), " with %s",
+ shortenstring(CurHostName, 203));
}
return (buf);
case EHOSTDOWN:
if (CurHostName == NULL)
break;
- (void) sprintf(buf, "Host %s is down",
+ (void) snprintf(buf, sizeof buf, "Host %s is down",
shortenstring(CurHostName, 203));
return (buf);
case ECONNREFUSED:
if (CurHostName == NULL)
break;
- (void) sprintf(buf, "Connection refused by %s",
+ (void) snprintf(buf, sizeof buf, "Connection refused by %s",
shortenstring(CurHostName, 203));
return (buf);
# endif
@@ -677,19 +681,22 @@ errstring(errnum)
if (dnsmsg != NULL)
{
- (void) strcpy(buf, "Name server: ");
+ bp = buf;
+ strcpy(bp, "Name server: ");
+ bp += strlen(bp);
if (CurHostName != NULL)
{
- (void) strcat(buf, CurHostName);
- (void) strcat(buf, ": ");
+ snprintf(bp, SPACELEFT(buf, bp), "%s: ",
+ shortenstring(CurHostName, 203));
+ bp += strlen(bp);
}
- (void) strcat(buf, dnsmsg);
+ snprintf(bp, SPACELEFT(buf, bp), "%s", dnsmsg);
return buf;
}
if (errnum > 0 && errnum < sys_nerr)
return (sys_errlist[errnum]);
- (void) sprintf(buf, "Error %d", errnum);
+ (void) snprintf(buf, sizeof buf, "Error %d", errnum);
return (buf);
}
OpenPOWER on IntegriCloud