diff --git a/src/sbbs3/userdat.c b/src/sbbs3/userdat.c index 94aa8d3052c58e1a36a6c5f2a9b1946ce4956920..00e03cb7fac7a70ad91e4236c17cdf18470d7486 100644 --- a/src/sbbs3/userdat.c +++ b/src/sbbs3/userdat.c @@ -688,8 +688,10 @@ int DLLCALL putnodedat(scfg_t* cfg, uint number, node_t* node, int file) int wrerr; int attempts; - if(!number || number>cfg->sys_nodes) + if(!number || number>cfg->sys_nodes || file<0) { + close(file); return(-1); + } number--; /* make zero based */ for(attempts=0;attempts<10;attempts++) {