diff --git a/src/sbbs3/userdat.c b/src/sbbs3/userdat.c index 4cd3e95236ae9753f1757b1eb67edbaa52730378..d9dba8d46a8decf80a92531cdb451c5e9b74a293 100644 --- a/src/sbbs3/userdat.c +++ b/src/sbbs3/userdat.c @@ -1457,7 +1457,7 @@ char* readsmsg(scfg_t* cfg, int usernumber) if((file=nopen(str,O_RDWR))==-1) return(NULL); length=(long)filelength(file); - if((buf=(char *)malloc(length+1))==NULL) { + if(length < 0 || (buf=(char *)malloc(length+1))==NULL) { close(file); return(NULL); }