From 04d160f90b81ab1ea2390b3fb692c7b3dd1c620f Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sun, 8 May 2022 23:12:49 +0900 Subject: [PATCH] mruby-test-inline-struct/inline.c: add a comment about istruct protection. --- mrbgems/mruby-test-inline-struct/test/inline.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mrbgems/mruby-test-inline-struct/test/inline.c b/mrbgems/mruby-test-inline-struct/test/inline.c index 2ceac3218..59892327e 100644 --- a/mrbgems/mruby-test-inline-struct/test/inline.c +++ b/mrbgems/mruby-test-inline-struct/test/inline.c @@ -59,6 +59,9 @@ istruct_test_test_receive_direct(mrb_state *mrb, mrb_value self) mrb_value is; struct RClass *klass = mrb_class_get(mrb, "InlineStructTest"); mrb_get_args(mrb, "o", &is); + /* if you need to protect istruct retrieval from untrusted code, + you need to care about class replacing. + See mrbgem/mruby-random/src/random.c for detail */ if (mrb_istruct_p(is) && mrb_obj_is_kind_of(mrb, is, klass)) { char *ptr = mrb_istruct_ptr(is);; return mrb_bool_value(ptr[0] == 's');