From bf2974923ad67a67d81f1be29c9defcce5cd65af Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Fri, 9 Aug 2019 03:39:18 +0000
Subject: [PATCH] Fix off-by-two issue with fgets() calls in printfile()
 line-at-a-time mode (new). Reported by Alterego (ALTERANT)

---
 src/sbbs3/prntfile.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/sbbs3/prntfile.cpp b/src/sbbs3/prntfile.cpp
index dfffde90d1..458b62f2c3 100644
--- a/src/sbbs3/prntfile.cpp
+++ b/src/sbbs3/prntfile.cpp
@@ -128,9 +128,8 @@ bool sbbs_t::printfile(const char* fname, long mode, long org_cols)
 			return false; 
 		}
 		while(!feof(stream) && !msgabort()) {
-			if(fgets(buf, length-1, stream) == NULL)
+			if(fgets(buf, length + 1, stream) == NULL)
 				break;
-			buf[length] = 0;
 			if((mode&P_UTF8) && !term_supports(UTF8))
 				utf8_normalize_str(buf);
 			putmsg(buf, mode, org_cols);
-- 
GitLab