From 2b61c461832d8746cac2ab764b6f7040f040dfdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20R=C3=BChsen?= Date: Sat, 21 Apr 2018 22:50:32 +0200 Subject: [PATCH] * src/ftp-ls.c (ftp_parse_winnt_ls): Fix memleak --- src/ftp-ls.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ftp-ls.c b/src/ftp-ls.c index 98e3d1a1..b1403b0b 100644 --- a/src/ftp-ls.c +++ b/src/ftp-ls.c @@ -423,6 +423,7 @@ ftp_parse_winnt_ls (FILE *fp) struct fileinfo *dir, *l, cur; /* list creation */ dir = l = NULL; + cur.name = NULL; /* Line loop to end of file: */ while ((len = getline (&line, &bufsize, fp)) > 0) @@ -461,6 +462,7 @@ ftp_parse_winnt_ls (FILE *fp) } /* Now it is possible to determine the position of the first symbol in filename. */ + xfree (cur.name); memset(&cur, 0, sizeof (cur)); cur.name = xstrdup(filename); DEBUGP (("Name: '%s'\n", cur.name)); @@ -544,8 +546,10 @@ ftp_parse_winnt_ls (FILE *fp) memcpy (l, &cur, sizeof (cur)); l->next = NULL; } + cur.name = NULL; } + xfree (cur.name); xfree (line); return dir; }