From d3cca3f0375596f1b7ddde85f76f4bb0fff96a24 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Mon, 29 Jul 2024 09:39:31 -0400 Subject: [PATCH] Fix memory leak in setupterm The allocated Fiddle::Pointer never gets freed because it doesn't have a free function defined for when it gets garbage collected. This commit changes it to use the default free function. --- lib/reline/terminfo.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/reline/terminfo.rb b/lib/reline/terminfo.rb index 1eb371464b..c2b1f681b4 100644 --- a/lib/reline/terminfo.rb +++ b/lib/reline/terminfo.rb @@ -83,7 +83,7 @@ module Reline::Terminfo end def self.setupterm(term, fildes) - errret_int = Fiddle::Pointer.malloc(Fiddle::SIZEOF_INT) + errret_int = Fiddle::Pointer.malloc(Fiddle::SIZEOF_INT, Fiddle::RUBY_FREE) ret = @setupterm.(term, fildes, errret_int) case ret when 0 # OK