diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index 60d03ac3126807c9ecf5dc5481335fd6520c4656..e5006b3d1667272b0d158af58ebcef252f9971a7 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -4329,6 +4329,13 @@ void node_thread(void* arg) sbbs->clearvars(&sbbs->main_csi); sbbs->main_csi.length=(long)filelength(file); + if(sbbs->main_csi.length < 1) { + close(file); + sbbs->errormsg(WHERE,ERR_LEN, str, sbbs->main_csi.length); + sbbs->hangup(); + break; + } + if((sbbs->main_csi.cs=(uchar *)malloc(sbbs->main_csi.length))==NULL) { close(file); sbbs->errormsg(WHERE,ERR_ALLOC,str,sbbs->main_csi.length);