[PATCH uclient 10/12] uclient-fetch: init_ca_cert: fix memory leak

Petr Štetiar ynezz at true.cz
Thu Dec 10 10:47:57 EST 2020


Fixes following memory leak:

 $ valgrind --quiet --leak-check=full uclient-fetch -q http://127.0.0.1:1922/does-not-exist

  51 (16 direct, 35 indirect) bytes in 1 blocks are definitely lost in loss record 4 of 9
   at 0x4C31A3F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4C33D84: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x553C7DF: glob_in_dir (glob.c:1410)
   by 0x553D5E8: glob@@GLIBC_2.27 (glob.c:1097)
   by 0x401D62: init_ca_cert (uclient-fetch.c:503)
   by 0x401D62: main (uclient-fetch.c:741)

Signed-off-by: Petr Štetiar <ynezz at true.cz>
---
 uclient-fetch.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/uclient-fetch.c b/uclient-fetch.c
index 1c66ac6d33ae..bbf5eec58d71 100644
--- a/uclient-fetch.c
+++ b/uclient-fetch.c
@@ -503,6 +503,7 @@ static void init_ca_cert(void)
 	glob("/etc/ssl/certs/*.crt", 0, NULL, &gl);
 	for (i = 0; i < gl.gl_pathc; i++)
 		ssl_ops->context_add_ca_crt_file(ssl_ctx, gl.gl_pathv[i]);
+	globfree(&gl);
 }
 
 static void init_ustream_ssl(void)



More information about the openwrt-devel mailing list