From 413910f9bf81a09dcbcb2977d6f9baffa3411940 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Tue, 1 Apr 2003 09:34:31 +0000
Subject: [PATCH] getnodedat() zeros the node before reading or erroring out.

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

diff --git a/src/sbbs3/getnode.cpp b/src/sbbs3/getnode.cpp
index 2a834ae2fe..dafa831e92 100644
--- a/src/sbbs3/getnode.cpp
+++ b/src/sbbs3/getnode.cpp
@@ -8,7 +8,7 @@
  * @format.tab-size 4		(Plain Text/Source Code File Header)			*
  * @format.use-tabs true	(see http://www.synchro.net/ptsc_hdr.html)		*
  *																			*
- * Copyright 2000 Rob Swindell - http://www.synchro.net/copyright.html		*
+ * Copyright 2003 Rob Swindell - http://www.synchro.net/copyright.html		*
  *																			*
  * This program is free software; you can redistribute it and/or			*
  * modify it under the terms of the GNU General Public License				*
@@ -48,7 +48,7 @@ int sbbs_t::getnodedat(uint number, node_t *node, bool lockit)
 	char	str[MAX_PATH+1];
 	int		count;
 
-	if(!number)
+	if(node==NULL || number<1)
 		return(-1);
 
 	if(number>cfg.sys_nodes) {
@@ -56,11 +56,11 @@ int sbbs_t::getnodedat(uint number, node_t *node, bool lockit)
 		return(-1); 
 	}
 
+	memset(node,0,sizeof(node_t));
 	if(nodefile==-1) {
 		sprintf(str,"%snode.dab",cfg.ctrl_dir);
 		if((nodefile=nopen(str,O_RDWR|O_DENYNONE))==-1) {
 			errormsg(WHERE,ERR_OPEN,str,O_RDWR|O_DENYNONE);
-			memset(node,0,sizeof(node_t));
 			return(errno); 
 		}
 	}
-- 
GitLab