In the function cmd_cmp() within the while loop, srcnew and destnew are
being allocated but are never freed either before leaving scope or in
the recursive calls being made to cmd_cmp().

Fixes: CID 314032
Fixes: CID 314045

Signed-off-by: Darren Kenny <darren.ke...@oracle.com>
---
 util/grub-fstest.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/util/grub-fstest.c b/util/grub-fstest.c
index 838656420098..da0751222f88 100644
--- a/util/grub-fstest.c
+++ b/util/grub-fstest.c
@@ -299,10 +299,15 @@ cmd_cmp (char *src, char *dest)
          *ptr++ = '/';
          strcpy (ptr, entry->d_name);
 
-         if (grub_util_is_special_file (destnew))
+         if (grub_util_is_special_file (destnew)) {
+           free(srcnew);
+           free(destnew);
            continue;
+         }
 
          cmd_cmp (srcnew, destnew);
+         free(srcnew);
+         free(destnew);
        }
       grub_util_fd_closedir (dir);
       return;
-- 
2.27.0


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to