From 64f8a658a9920a08f81159e6483d01ffb90fd7b6 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Tue, 2 Nov 2004 02:15:51 +0000
Subject: [PATCH] Bugfix: use smb_close_fp() instead of fclose() to close files
 opened via smb_open_* - prevents double close of FILE* causing segfault.

---
 src/sbbs3/chksmb.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/sbbs3/chksmb.c b/src/sbbs3/chksmb.c
index cfb283cd09..314669ed59 100644
--- a/src/sbbs3/chksmb.c
+++ b/src/sbbs3/chksmb.c
@@ -535,12 +535,10 @@ int main(int argc, char **argv)
 		smb_freemsgmem(&msg); 
 	}
 
-	if(number)
-		FREE(number);
+	FREE_AND_NULL(number);
 
 	fprintf(stderr,"\r%79s\r100%%\n","");
 
-
 	if(chkalloc && !(smb.status.attr&SMB_HYPERALLOC)) {
 
 		fprintf(stderr,"\nChecking %s Data Blocks\n\n",smb.file);
@@ -557,8 +555,8 @@ int main(int argc, char **argv)
 				deldatblocks++; 
 		}
 
-		fclose(smb.sha_fp);
-		fclose(smb.sda_fp);
+		smb_close_ha(&smb);
+		smb_close_da(&smb);
 
 		fprintf(stderr,"\r%79s\r100%%\n",""); 
 	}
@@ -640,8 +638,8 @@ int main(int argc, char **argv)
 		}
 		fprintf(stderr,"\r%79s\r100%%\n",""); 
 	}
-	FREE(number);
-	FREE(offset);
+	FREE_AND_NULL(number);
+	FREE_AND_NULL(offset);
 
 	}	/* if(total) */
 
-- 
GitLab