From b93c51c114c2b3c8f9845f3a7bd2c936baf0996d Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Mon, 30 Sep 2024 19:40:23 +0900 Subject: [PATCH] Free a buffer allocated by realpath 8350b48cfa7d344d9e2dc9748c26607c1b89d7df introduced a memory leak bug. Will fix [Bug #20773] `loop { File.realpath("foo") }` caused memory leak. --- file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file.c b/file.c index e8db1069f7..f94bef04aa 100644 --- a/file.c +++ b/file.c @@ -4582,7 +4582,7 @@ rb_check_realpath_internal(VALUE basedir, VALUE path, rb_encoding *origenc, enum rb_sys_fail_path(unresolved_path); } resolved = ospath_new(resolved_ptr, strlen(resolved_ptr), rb_filesystem_encoding()); -# if defined(NEEDS_REALPATH_BUFFER) && NEEDS_REALPATH_BUFFER +# if !(defined(NEEDS_REALPATH_BUFFER) && NEEDS_REALPATH_BUFFER) free(resolved_ptr); # endif