From 11ba89f037848c0bae80ddc88ca9c8a3dbd1d266 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Wed, 9 Feb 2005 08:18:11 +0000
Subject: [PATCH] Added more checks in loops for an active connection.

---
 src/sbbs3/zmodem.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/sbbs3/zmodem.c b/src/sbbs3/zmodem.c
index cd55dff7db..6284c5d54a 100644
--- a/src/sbbs3/zmodem.c
+++ b/src/sbbs3/zmodem.c
@@ -1500,7 +1500,10 @@ BOOL zmodem_send_file(zmodem_t* zm, char* fname, FILE* fp, BOOL request_init, ti
 			type = zmodem_rx_header(zm,zm->recv_timeout);
 			if(zm->cancelled)
 				return(FALSE);
-		} while(type == ZACK);
+		} while(type == ZACK && is_connected(zm));
+
+		if(!is_connected(zm))
+			return(FALSE);
 
 #if 0
 		lprintf(zm,LOG_INFO,"type : %d",type);
@@ -1534,6 +1537,9 @@ BOOL zmodem_send_file(zmodem_t* zm, char* fname, FILE* fp, BOOL request_init, ti
 
 		type = zmodem_send_from(zm, fp, pos, s.st_size, &sent_bytes);
 
+		if(!is_connected(zm))
+			return(FALSE);
+
 		if(sent!=NULL)
 			*sent+=sent_bytes;
 
-- 
GitLab