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