aboutsummaryrefslogtreecommitdiffstats
path: root/string.c
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2023-11-30 14:48:26 -0500
committerPeter Zhu <peter@peterzhu.ca>2023-12-01 15:04:31 -0500
commitee0eca191f3ca486b6056234add436a8c1488dba (patch)
tree495a7253af9ff8782d47b270ebbc5404c57983c5 /string.c
parent80ea7fbad871b2222b16af1bd9f39e1f1828bbd4 (diff)
downloadruby-ee0eca191f3ca486b6056234add436a8c1488dba.tar.gz
Make String#undump compaction safe
Diffstat (limited to 'string.c')
-rw-r--r--string.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/string.c b/string.c
index 8af608047a..9da5708964 100644
--- a/string.c
+++ b/string.c
@@ -7231,6 +7231,8 @@ str_undump(VALUE str)
}
}
+ RB_GC_GUARD(str);
+
return undumped;
invalid_format:
rb_raise(rb_eRuntimeError, "invalid dumped string; not wrapped with '\"' nor '\"...\".force_encoding(\"...\")' form");