From e7a381f1244d4bf5a30825d5e1a40a73c67ef544 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Fri, 19 Mar 2004 10:22:50 +0000 Subject: [PATCH] MSCRTL implementation of vsnprintf() returns -1 on overflow (output truncated). --- src/sbbs3/ftpsrvr.c | 4 +--- src/sbbs3/mailsrvr.c | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 8b4342ccbd..77e1049a9a 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -284,9 +284,7 @@ static int sockprintf(SOCKET sock, char *fmt, ...) len=vsnprintf(sbuf,maxlen=sizeof(sbuf)-2,fmt,argptr); va_end(argptr); - if(len<0) /* format error? */ - return(0); - if(len>maxlen) /* output truncated */ + if(len<0 || len>maxlen) /* format error or output truncated */ len=maxlen; if(startup!=NULL && startup->options&FTP_OPT_DEBUG_TX) lprintf(LOG_DEBUG,"%04d TX: %.*s", sock, len, sbuf); diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index 547a834344..ba14596dae 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -247,9 +247,7 @@ int sockprintf(SOCKET sock, char *fmt, ...) len=vsnprintf(sbuf,maxlen=sizeof(sbuf)-2,fmt,argptr); va_end(argptr); - if(len<0) /* format error? */ - return(0); - if(len>maxlen) /* output truncated */ + if(len<0 || len > maxlen) /* format error or output truncated */ len=maxlen; if(startup->options&MAIL_OPT_DEBUG_TX) lprintf(LOG_DEBUG,"%04d TX: %.*s", sock, len, sbuf); -- GitLab