From 66bc0a47100bc799f4c9a4d6b5054a4d6590954e Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Wed, 11 Apr 2007 19:28:15 +0000
Subject: [PATCH] Bug-fix: circular message detection log output problem. p
 points into 'header', so free(header) after logging error (which includes p).

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

diff --git a/src/sbbs3/qwktomsg.cpp b/src/sbbs3/qwktomsg.cpp
index ac6dc1ab6f..485addc3a2 100644
--- a/src/sbbs3/qwktomsg.cpp
+++ b/src/sbbs3/qwktomsg.cpp
@@ -257,14 +257,14 @@ bool sbbs_t::qwktomsg(FILE *qwk_fp, char *hdrblk, char fromhub, uint subnum
 			p=header+5; 					/* Skip "@VIA:" */
 			while(*p && *p<=' ') p++;		/* Skip any spaces */
 			if(route_circ(p,cfg.sys_id)) {
-				free(header);
-				free(body);
-				free(tail);
 				smb_freemsgmem(&msg);
 				bprintf("\r\nCircular message path: %s\r\n",p);
 				sprintf(str,"Circular message path: %s from %s"
 					,p,fromhub ? cfg.qhub[fromhub-1]->id:useron.alias);
 				errorlog(str);
+				free(header);
+				free(body);
+				free(tail);
 				return(false); 
 			}
 			sprintf(str,"%s/%s"
-- 
GitLab