From 7b50f26d94bd4d1d8042a37780bac5e136a8eeab Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Sat, 17 Mar 2018 02:23:33 +0000 Subject: [PATCH] Address coverity-scan reported issues. --- src/sbbs3/atcodes.cpp | 4 +++- src/sbbs3/chat.cpp | 2 +- src/sbbs3/echocfg.c | 1 - src/sbbs3/filedat.c | 7 +++---- src/sbbs3/scfglib.h | 1 + src/sbbs3/scfglib2.c | 1 + src/sbbs3/services.c | 1 - src/sbbs3/xtrn_sec.cpp | 3 ++- 8 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/sbbs3/atcodes.cpp b/src/sbbs3/atcodes.cpp index 77802a6c12..59f43ef825 100644 --- a/src/sbbs3/atcodes.cpp +++ b/src/sbbs3/atcodes.cpp @@ -158,7 +158,9 @@ const char* sbbs_t::atcode(char* sp, char* str, size_t maxlen) return(COPYRIGHT_NOTICE); if(!strcmp(sp,"COMPILER")) { - DESCRIBE_COMPILER(str); + char compiler[32]; + DESCRIBE_COMPILER(compiler); + strncpy(str, compiler, maxlen); return(str); } diff --git a/src/sbbs3/chat.cpp b/src/sbbs3/chat.cpp index 8ea1777fc9..b318cf5027 100644 --- a/src/sbbs3/chat.cpp +++ b/src/sbbs3/chat.cpp @@ -582,8 +582,8 @@ bool sbbs_t::guru_page(void) return(false); } if((gurubuf=(char *)malloc((size_t)filelength(file)+1))==NULL) { - close(file); errormsg(WHERE,ERR_ALLOC,path,(size_t)filelength(file)+1); + close(file); return(false); } read(file,gurubuf,(size_t)filelength(file)); diff --git a/src/sbbs3/echocfg.c b/src/sbbs3/echocfg.c index 42273f5634..653da33650 100644 --- a/src/sbbs3/echocfg.c +++ b/src/sbbs3/echocfg.c @@ -356,7 +356,6 @@ int main(int argc, char **argv) p=getenv("SBBSNODE"); if(!p) { goto USAGE; - exit(1); } SAFECOPY(str,p); backslash(str); diff --git a/src/sbbs3/filedat.c b/src/sbbs3/filedat.c index e3b9151f05..812ef8e2ec 100644 --- a/src/sbbs3/filedat.c +++ b/src/sbbs3/filedat.c @@ -164,7 +164,6 @@ BOOL DLLCALL addfiledat(scfg_t* cfg, file_t* f) uchar *ixbbuf,idx[3]; int i,file; long l,length; - time_t now; time_t uldate; /************************/ @@ -224,9 +223,9 @@ BOOL DLLCALL addfiledat(scfg_t* cfg, file_t* f) /*******************************************/ SAFEPRINTF2(str,"%s%s.dab",cfg->dir[f->dir]->data_dir,cfg->dir[f->dir]->code); if((file=sopen(str,O_WRONLY|O_CREAT|O_BINARY,SH_DENYRW,DEFFILEMODE))!=-1) { - now=time(NULL); - /* TODO: 32-bit *or* LE required */ - write(file,&now,4); + time32_t now=time32(NULL); + /* TODO: LE required */ + write(file,&now,sizeof(time32_t)); close(file); } diff --git a/src/sbbs3/scfglib.h b/src/sbbs3/scfglib.h index fd177b7482..7bb82c868e 100644 --- a/src/sbbs3/scfglib.h +++ b/src/sbbs3/scfglib.h @@ -43,6 +43,7 @@ offset+=sizeof(var); } #define get_str(var,stream) { if(!fread(var,1,sizeof(var),stream)) \ memset(var,0,sizeof(var)); \ + else var[sizeof(var)-1] = 0; \ offset+=sizeof(var); } #ifdef __cplusplus diff --git a/src/sbbs3/scfglib2.c b/src/sbbs3/scfglib2.c index 56890fdf7e..80eca877c2 100644 --- a/src/sbbs3/scfglib2.c +++ b/src/sbbs3/scfglib2.c @@ -267,6 +267,7 @@ BOOL read_file_cfg(scfg_t* cfg, char* error) for(i=0;i<cfg->altpaths;i++) { if(feof(instream)) break; fread(str,LEN_DIR+1,1,instream); + str[LEN_DIR] = 0; offset+=LEN_DIR+1; backslash(str); j=LEN_DIR+1; diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c index 04a9cfd3a6..9ed427a757 100644 --- a/src/sbbs3/services.c +++ b/src/sbbs3/services.c @@ -1584,7 +1584,6 @@ static service_t* read_services_ini(const char* services_ini, service_t* service } if((np=(service_t*)realloc(service,sizeof(service_t)*((*services)+1)))==NULL) { - fclose(fp); lprintf(LOG_CRIT,"!MALLOC FAILURE"); free(default_interfaces); iniFreeStringList(sec_list); diff --git a/src/sbbs3/xtrn_sec.cpp b/src/sbbs3/xtrn_sec.cpp index 726201dda5..c258f9bc2d 100644 --- a/src/sbbs3/xtrn_sec.cpp +++ b/src/sbbs3/xtrn_sec.cpp @@ -989,9 +989,10 @@ void sbbs_t::xtrndat(const char *name, const char *dropdir, uchar type, ulong tl i=cfg.level_timepercall[useron.level]; /* Time allowed on */ write(file,&i,2); + c=0; i=0; /* Allowed K-bytes for D/L */ write(file,&i,2); - write(file,&i,1); /* Conference user was in */ + write(file,&c,1); /* Conference user was in */ write(file,&i,2); /* Conferences joined */ write(file,&i,2); /* "" */ write(file,&i,2); /* "" */ -- GitLab