Hello hackers, Just like some of my colleagues I've been using Svace* and I think I've found a bug in src/common/rmtree.c .
In 64th line function returns false in case it couldn't open a directory, but the memory, that have been allocated for char** dirnames is not freed. The patch that has a fix of this is attached and is based on the latest master code. * - https://svace.pages.ispras.ru/svace-website/en/ Kind regards, Ian Ilyasov.
Subject: [PATCH] Fixed memory leak in case we couldn't open a directory in rmtree.c. --- Index: src/common/rmtree.c IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/src/common/rmtree.c b/src/common/rmtree.c --- a/src/common/rmtree.c (revision 48a6bf5c4ea8e04cc9bb33a8120a21743da515ed) +++ b/src/common/rmtree.c (date 1707211004528) @@ -61,6 +61,7 @@ if (dir == NULL) { pg_log_warning("could not open directory \"%s\": %m", path); + pfree(dirnames); return false; }