From 7addf0f49caf5ae22b2bba40beb7ef4891dd0581 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Tue, 25 Nov 2003 09:43:15 +0000
Subject: [PATCH] Bugfix: wasn't closing message base if savemsg() call failed
 (e.g. duplicate message detected).

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

diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index d3dc431e66..b16a5ec55f 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -2261,6 +2261,7 @@ static void smtp_thread(void* arg)
 				i=savemsg(&scfg, &smb, &msg, msgbuf);
 				free(msgbuf);
 				if(i!=0) {
+					smb_close(&smb);
 					lprintf(LOG_ERR,"%04d !SMTP ERROR %d (%s) saving message"
 						,socket,i,smb.last_error);
 					sockprintf(socket, "452 ERROR %d (%s) saving message"
@@ -2344,7 +2345,9 @@ static void smtp_thread(void* arg)
 					sockprintf(socket,ok_rsp);
 					signal_smtp_sem();
 				}
+#if 0 /* This shouldn't be necessary here */
 				smb_close_da(&smb);
+#endif
 				smb_close(&smb);
 				continue;
 			}
-- 
GitLab