From 9dff0aedb12fa571f9c7d64e3e049dff06bf77cd Mon Sep 17 00:00:00 2001 From: takahashim Date: Mon, 12 Jan 2015 19:52:43 +0900 Subject: fix Segmentation fault on Struct#inspect due to recursive Struct object --- mrbgems/mruby-struct/mrblib/struct.rb | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'mrbgems/mruby-struct/mrblib') diff --git a/mrbgems/mruby-struct/mrblib/struct.rb b/mrbgems/mruby-struct/mrblib/struct.rb index 5d0ede90f..57f100acd 100644 --- a/mrbgems/mruby-struct/mrblib/struct.rb +++ b/mrbgems/mruby-struct/mrblib/struct.rb @@ -45,6 +45,37 @@ if Object.const_defined?(:Struct) } ary end + + def _inspect + str = "#" + end + + ## + # call-seq: + # struct.to_s -> string + # struct.inspect -> string + # + # Describe the contents of this struct in a string. + # + # 15.2.18.4.10(x) + # + def inspect + begin + self._inspect + rescue SystemStackError + "#" + end + end + + ## + # 15.2.18.4.11(x) + # + alias to_s inspect end end -- cgit v1.2.3