handlegph: fix memory leak if writing a line failed - geomyidae - A small C-based gopherd. (gopher://bitreich.org/1/scm/geomyidae) (HTM) git clone git://r-36.net/geomyidae (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit 997f994cfd4318cdd6b9d40f5864b37002976cac (DIR) parent 70d5d67d68410c852d9663a6e4935e508897ffdf (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Wed, 8 Mar 2023 20:56:42 +0100 handlegph: fix memory leak if writing a line failed Signed-off-by: Christoph Lohmann <20h@r-36.net> Diffstat: M handlr.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- (DIR) diff --git a/handlr.c b/handlr.c @@ -108,13 +108,14 @@ handlegph(int sock, char *file, char *port, char *base, char *args, act = scanfile(file); if (act != NULL) { - for (i = 0; i < act->num && ret >= 0; i++) { + for (i = 0; i < act->num && ret >= 0; i++) ret = printelem(sock, act->n[i], file, base, ohost, port); + dprintf(sock, ".\r\n"); + + for (i = 0; i < act->num; i++) { freeelem(act->n[i]); act->n[i] = NULL; } - dprintf(sock, ".\r\n"); - freeindex(act); } }