From 742cc56e7195ab03257c9276f938fe97c8d39fd2 Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Sun, 25 Oct 2026 00:35:38 +0900 Subject: [PATCH] Hide the dictionaries of Zlib::Inflate from Ruby They were kept in @dictionaries, which can be replaced with a non-Hash. z = Zlib::Inflate.new z.instance_variable_set(:@dictionaries, 1) z.add_dictionary("foo") #=> [BUG] Segmentation fault at 0x0000000000000003 Co-Authored-By: Claude Opus 5.5 --- ext/zlib/zlib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index bcdd32a..88e2890 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -4752,7 +4752,7 @@ Init_zlib(void) mZlib = rb_define_module("Zlib"); - id_dictionaries = rb_intern("@dictionaries"); + id_dictionaries = rb_intern("dictionaries"); cZError = rb_define_class_under(mZlib, "Error", rb_eStandardError); cStreamEnd = rb_define_class_under(mZlib, "StreamEnd", cZError);