From d251aa045a4cad4bffa17bd2ed7243be9eb354be Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Mon, 2 Sep 2019 01:29:21 +0000
Subject: [PATCH] putnodedat() needs to close the file upon parameter
 validation error if the closeit parameter is TRUE

---
 src/sbbs3/userdat.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/sbbs3/userdat.c b/src/sbbs3/userdat.c
index d74485b93a..b468232a7c 100644
--- a/src/sbbs3/userdat.c
+++ b/src/sbbs3/userdat.c
@@ -489,8 +489,7 @@ int is_user_online(scfg_t* cfg, uint usernumber)
 			|| node.status==NODE_LOGON) && node.useron==usernumber)
 			return i;
 	}
-	if(file >= 0)
-		close(file);
+	CLOSE_OPEN_FILE(file);
 	return 0;
 }
 
@@ -846,7 +845,8 @@ int putnodedat(scfg_t* cfg, uint number, node_t* node, BOOL closeit, int file)
 		return -1;
 	if(!VALID_CFG(cfg)
 		|| node==NULL || number<1 || number>cfg->sys_nodes) {
-		close(file);
+		if(closeit)
+			close(file);
 		return(-1);
 	}
 
-- 
GitLab