From 370669c0f93c0eccc0de6645b973f948c02cbb4d Mon Sep 17 00:00:00 2001
From: anonymouspage <123-anonymouspage@users.noreply.gitlab.synchro.net>
Date: Tue, 18 Oct 2022 15:21:22 -0700
Subject: [PATCH] ciolib_movetext: Plug fill buffer memory leak

This fixes a memory leak in ciolib_movetext() which accumulates
memory very quickly in scroll heavy ncurses environments. The
problem was originally noticed while running syncterm, and
confirmed with valgrind.

valgrind confirmation:

 17,310,720 bytes in 368 blocks are definitely lost in loss record 128 of 128
    at 0x8C82899: malloc
    by 0x16E273: ciolib_movetext (ciolib.c:563)
    <<snip>>
---
 src/conio/ciolib.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/conio/ciolib.c b/src/conio/ciolib.c
index dbe5f3360f..a54baa628f 100644
--- a/src/conio/ciolib.c
+++ b/src/conio/ciolib.c
@@ -577,6 +577,7 @@ CIOLIBEXPORT int ciolib_movetext(int sx, int sy, int ex, int ey, int dx, int dy)
 			goto fail;
 	}
 
+	free(buf);
 	return(1);
 
 fail:
-- 
GitLab