From ab54185005ec87fe4f5b10df95ad29659884141b Mon Sep 17 00:00:00 2001 From: Tomoyuki Sahara Date: Tue, 12 Sep 2017 12:32:12 +0900 Subject: receiver variables must be "mrb_int" for mrb_get_args("i"). Otherwise, it can cause a segfault on the platforms where the size of "int" and "mrb_int" differs. --- src/socket.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/socket.c') diff --git a/src/socket.c b/src/socket.c index 3f4ef8a4c..758d3a311 100644 --- a/src/socket.c +++ b/src/socket.c @@ -586,10 +586,10 @@ static mrb_value mrb_socket_bind(mrb_state *mrb, mrb_value klass) { mrb_value sastr; - int s; + mrb_int s; mrb_get_args(mrb, "iS", &s, &sastr); - if (bind(s, (struct sockaddr *)RSTRING_PTR(sastr), (socklen_t)RSTRING_LEN(sastr)) == -1) { + if (bind((int)s, (struct sockaddr *)RSTRING_PTR(sastr), (socklen_t)RSTRING_LEN(sastr)) == -1) { mrb_sys_fail(mrb, "bind"); } return mrb_nil_value(); @@ -599,10 +599,10 @@ static mrb_value mrb_socket_connect(mrb_state *mrb, mrb_value klass) { mrb_value sastr; - int s; + mrb_int s; mrb_get_args(mrb, "iS", &s, &sastr); - if (connect(s, (struct sockaddr *)RSTRING_PTR(sastr), (socklen_t)RSTRING_LEN(sastr)) == -1) { + if (connect((int)s, (struct sockaddr *)RSTRING_PTR(sastr), (socklen_t)RSTRING_LEN(sastr)) == -1) { mrb_sys_fail(mrb, "connect"); } return mrb_nil_value(); -- cgit v1.2.3