From e209f0a2201580aa8fc82495233e94b2dad69a44 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 15 Aug 2023 07:31:04 +0900 Subject: [PATCH] mruby-socket/socket.c (socket_option_init): add integer type checks --- mrbgems/mruby-socket/src/socket.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/mrbgems/mruby-socket/src/socket.c b/mrbgems/mruby-socket/src/socket.c index 2b7a80518..a156dd4e9 100644 --- a/mrbgems/mruby-socket/src/socket.c +++ b/mrbgems/mruby-socket/src/socket.c @@ -336,12 +336,13 @@ socket_option_class(mrb_state *mrb) static mrb_value socket_option_init(mrb_state *mrb, mrb_value self) { - mrb_value family, level, optname, data; + mrb_int family, level, optname; + mrb_value data; - mrb_get_args(mrb, "oooo", &family, &level, &optname, &data); - mrb_iv_set(mrb, self, MRB_IVSYM(family), family); - mrb_iv_set(mrb, self, MRB_IVSYM(level), level); - mrb_iv_set(mrb, self, MRB_IVSYM(optname), optname); + mrb_get_args(mrb, "iiio", &family, &level, &optname, &data); + mrb_iv_set(mrb, self, MRB_IVSYM(family), mrb_int_value(mrb, family)); + mrb_iv_set(mrb, self, MRB_IVSYM(level), mrb_int_value(mrb, level)); + mrb_iv_set(mrb, self, MRB_IVSYM(optname), mrb_int_value(mrb, optname)); mrb_iv_set(mrb, self, MRB_IVSYM(data), data); return self;