summaryrefslogtreecommitdiff
path: root/ext/json
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2019-05-13 14:27:54 -0700
committerAaron Patterson <tenderlove@ruby-lang.org>2019-05-13 14:27:54 -0700
commit79ead821dd4880725c9c6bb9645b3fad71715c5b (patch)
tree59b79431e627d25b5f3755dd25fababba5e04f59 /ext/json
parenta1ecf07dff7530f8f53fb456b2e38a8a039cb561 (diff)
Add NaN / Infinity / MinusInfinity to mark list
This prevents the constants from moving.
Diffstat (limited to 'ext/json')
-rw-r--r--ext/json/parser/parser.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/json/parser/parser.c b/ext/json/parser/parser.c
index 0bd328ca42..6f0d31c2eb 100644
--- a/ext/json/parser/parser.c
+++ b/ext/json/parser/parser.c
@@ -2099,8 +2099,13 @@ void Init_parser(void)
rb_define_method(cParser, "source", cParser_source, 0);
CNaN = rb_const_get(mJSON, rb_intern("NaN"));
+ rb_gc_register_mark_object(CNaN);
+
CInfinity = rb_const_get(mJSON, rb_intern("Infinity"));
+ rb_gc_register_mark_object(CInfinity);
+
CMinusInfinity = rb_const_get(mJSON, rb_intern("MinusInfinity"));
+ rb_gc_register_mark_object(CMinusInfinity);
i_json_creatable_p = rb_intern("json_creatable?");
i_json_create = rb_intern("json_create");