From 7dda92332fd1bb01e065646ac1f5b098bf681bef Mon Sep 17 00:00:00 2001 From: normal Date: Fri, 8 May 2015 22:31:02 +0000 Subject: ext/socket/ancdata.c (bsock_recvmsg_internal): GC guard The control buffer may be used throughout the function, so prevent the string from being lost to GC. * ext/socket/ancdata.c (bsock_recvmsg_internal): GC guard [Bug #11123] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ ext/socket/ancdata.c | 1 + 2 files changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index b9ac37804d..c7cdc8d6ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat May 9 06:48:36 2015 Eric Wong + + * ext/socket/ancdata.c (bsock_recvmsg_internal): GC guard + [Bug #11123] + Fri May 8 22:57:24 2015 takiy33 * test/matrix/test_matrix.rb (test_determinant): refactor test on diff --git a/ext/socket/ancdata.c b/ext/socket/ancdata.c index f0dbb2bfeb..3eaed1cb49 100644 --- a/ext/socket/ancdata.c +++ b/ext/socket/ancdata.c @@ -1711,6 +1711,7 @@ bsock_recvmsg_internal(int argc, VALUE *argv, VALUE sock, int nonblock) discard_cmsg(cmh, msg_end, (flags & MSG_PEEK) != 0); rb_ary_push(ret, ctl); } + RB_GC_GUARD(ctl_str); } #endif -- cgit v1.2.3