From d2aab408e73f83b03636f4c3ae323fc8c98c0cc6 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Thu, 12 Dec 2002 02:32:31 +0000
Subject: [PATCH] fgets() only reads size-1, so sizeof(buf) is correct.

---
 src/sbbs3/download.cpp |  2 +-
 src/sbbs3/ftpsrvr.c    | 10 +++++-----
 src/sbbs3/sbbscon.c    |  4 ++--
 src/sbbs3/services.c   |  2 +-
 src/sbbs3/smbutil.c    |  4 ++--
 src/sbbs3/sockopts.c   |  2 +-
 src/sbbs3/writemsg.cpp |  2 +-
 7 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/sbbs3/download.cpp b/src/sbbs3/download.cpp
index 1718659552..5a21d6902d 100644
--- a/src/sbbs3/download.cpp
+++ b/src/sbbs3/download.cpp
@@ -206,7 +206,7 @@ int sbbs_t::protocol(char *cmdline, bool cd)
 	// Save DSZLOG to logfile
 	if((stream=fnopen(NULL,protlog,O_RDONLY))!=NULL) {
 		while(!feof(stream) && !ferror(stream)) {
-			if(!fgets(protlog,sizeof(protlog)-1,stream))
+			if(!fgets(protlog,sizeof(protlog),stream))
 				break;
 			truncsp(protlog);
 			logline(nulstr,protlog);
diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c
index 9ef886bf59..6b35394814 100644
--- a/src/sbbs3/ftpsrvr.c
+++ b/src/sbbs3/ftpsrvr.c
@@ -791,7 +791,7 @@ BOOL js_generate_index(JSContext* js_cx, JSObject* parent,
 			if((alias_fp=fopen(path,"r"))!=NULL) {
 
 				while(!feof(alias_fp)) {
-					if(!fgets(aliasline,sizeof(aliasline)-1,alias_fp))
+					if(!fgets(aliasline,sizeof(aliasline),alias_fp))
 						break;
 
 					p=aliasline;	/* alias pointer */
@@ -1174,7 +1174,7 @@ int sockreadline(SOCKET socket, char* buf, int len, time_t* lastactive)
 /*****************************************************************************/
 /* Returns command line generated from instr with %c replacments             */
 /*****************************************************************************/
-char * cmdstr(user_t* user, char *instr, char *fpath, char *fspec, char *cmd)
+static char* cmdstr(user_t* user, char *instr, char *fpath, char *fspec, char *cmd)
 {
 	char	str[256];
     int		i,j,len;
@@ -2105,7 +2105,7 @@ static BOOL ftpalias(char* fullalias, char* filename, user_t* user, int* curdir)
 		return(FALSE);
 
 	while(!feof(fp)) {
-		if(!fgets(line,sizeof(line)-1,fp))
+		if(!fgets(line,sizeof(line),fp))
 			break;
 
 		p=line;	/* alias */
@@ -3254,7 +3254,7 @@ static void ctrl_thread(void* arg)
 				if((alias_fp=fopen(aliasfile,"r"))!=NULL) {
 
 					while(!feof(alias_fp)) {
-						if(!fgets(aliasline,sizeof(aliasline)-1,alias_fp))
+						if(!fgets(aliasline,sizeof(aliasline),alias_fp))
 							break;
 
 						alias_dir=FALSE;
@@ -3573,7 +3573,7 @@ static void ctrl_thread(void* arg)
 					if((alias_fp=fopen(aliasfile,"r"))!=NULL) {
 
 						while(!feof(alias_fp)) {
-							if(!fgets(aliasline,sizeof(aliasline)-1,alias_fp))
+							if(!fgets(aliasline,sizeof(aliasline),alias_fp))
 								break;
 
 							p=aliasline;	/* alias pointer */
diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c
index 4943758f31..72d8a0177a 100644
--- a/src/sbbs3/sbbscon.c
+++ b/src/sbbs3/sbbscon.c
@@ -915,7 +915,7 @@ int main(int argc, char** argv)
 
 		if((fp=fopen("/etc/resolv.conf","r"))!=NULL) {
 			while(!feof(fp)) {
-				if(fgets(str,sizeof(str)-1,fp)==NULL)
+				if(fgets(str,sizeof(str),fp)==NULL)
 					break;
 				truncsp(str);
 				p=str;
@@ -1440,7 +1440,7 @@ int main(int argc, char** argv)
 				case 'd':	/* down node */
 				case 'i':	/* interrupt node */
 					printf("\nNode number: ");
-					if((n=atoi(fgets(str,sizeof(str)-1,stdin)))<1)
+					if((n=atoi(fgets(str,sizeof(str),stdin)))<1)
 						break;
 					fflush(stdin);
 					printf("\n");
diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c
index ed429427d0..a51f57a69f 100644
--- a/src/sbbs3/services.c
+++ b/src/sbbs3/services.c
@@ -1148,7 +1148,7 @@ static service_t* read_services_cfg(char* services_cfg, DWORD* services)
 	}
 
 	for((*services)=0;!feof(fp) && (*services)<MAX_SERVICES;) {
-		if(!fgets(line,sizeof(line)-1,fp))
+		if(!fgets(line,sizeof(line),fp))
 			break;
 		p=line;
 		while(*p && *p<=' ') p++;
diff --git a/src/sbbs3/smbutil.c b/src/sbbs3/smbutil.c
index a934a83d3c..fc566dbf53 100644
--- a/src/sbbs3/smbutil.c
+++ b/src/sbbs3/smbutil.c
@@ -73,7 +73,7 @@ char	compiler[32];
 #endif
 
 /* gets is dangerous */
-#define gets(str)  fgets((str), sizeof(str) - 1, stdin)
+#define gets(str)  fgets((str), sizeof(str), stdin)
 
 /********************/
 /* Global variables */
@@ -216,7 +216,7 @@ void postmsg(char type, char* to, char* to_number, char* to_address,
 
 	if(to==NULL) {
 		printf("To User Name: ");
-		fgets(str,sizeof(str)-1,stdin); 
+		fgets(str,sizeof(str),stdin); 
 	} else
 		SAFECOPY(str,to);
 
diff --git a/src/sbbs3/sockopts.c b/src/sbbs3/sockopts.c
index 674a376436..6815302c9c 100644
--- a/src/sbbs3/sockopts.c
+++ b/src/sbbs3/sockopts.c
@@ -102,7 +102,7 @@ int DLLCALL set_socket_options(scfg_t* cfg, SOCKET sock, char* error)
 	}
 
 	while(!feof(fp)) {
-		if(!fgets(str,sizeof(str)-1,fp))
+		if(!fgets(str,sizeof(str),fp))
 			break;
 		if(str[0]==';')
 			continue;
diff --git a/src/sbbs3/writemsg.cpp b/src/sbbs3/writemsg.cpp
index 678fb305da..d889f850a9 100644
--- a/src/sbbs3/writemsg.cpp
+++ b/src/sbbs3/writemsg.cpp
@@ -409,7 +409,7 @@ bool sbbs_t::writemsg(char *fname, char *top, char *title, long mode, int subnum
 		FILE* sig;
 		if(fexist(str) && (sig=fopen(str,"rb"))!=NULL) {
 			while(!feof(sig)) {
-				if(!fgets(str,sizeof(str)-1,sig))
+				if(!fgets(str,sizeof(str),sig))
 					break;
 				fputs(str,stream);
 				l+=strlen(str);	/* byte counter */
-- 
GitLab