From c0f4e4ca6d0f76985bca79314b232b787c8f008e Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Fri, 28 May 2021 02:50:37 -0400 Subject: [PATCH] undefine alloc functions for C extensions per guidance in doc/extension.rdoc, these classes now undefine their alloc functions: - ObjectSpace::InternalObjectWrapper - Socket::Ifaddr --- ext/objspace/objspace.c | 1 + ext/socket/ifaddr.c | 1 + 2 files changed, 2 insertions(+) diff --git a/ext/objspace/objspace.c b/ext/objspace/objspace.c index 2784a88e85..72d1eb888d 100644 --- a/ext/objspace/objspace.c +++ b/ext/objspace/objspace.c @@ -998,6 +998,7 @@ Init_objspace(void) * You can use the #type method to check the type of the internal object. */ rb_cInternalObjectWrapper = rb_define_class_under(rb_mObjSpace, "InternalObjectWrapper", rb_cObject); + rb_undef_alloc_func(rb_cInternalObjectWrapper); rb_define_method(rb_cInternalObjectWrapper, "type", iow_type, 0); rb_define_method(rb_cInternalObjectWrapper, "inspect", iow_inspect, 0); rb_define_method(rb_cInternalObjectWrapper, "internal_object_id", iow_internal_object_id, 0); diff --git a/ext/socket/ifaddr.c b/ext/socket/ifaddr.c index da013256cb..1da259bd6f 100644 --- a/ext/socket/ifaddr.c +++ b/ext/socket/ifaddr.c @@ -460,6 +460,7 @@ rsock_init_sockifaddr(void) * Socket::Ifaddr represents a result of getifaddrs() function. */ rb_cSockIfaddr = rb_define_class_under(rb_cSocket, "Ifaddr", rb_cObject); + rb_undef_alloc_func(rb_cSockIfaddr); rb_define_method(rb_cSockIfaddr, "inspect", ifaddr_inspect, 0); rb_define_method(rb_cSockIfaddr, "name", ifaddr_name, 0); rb_define_method(rb_cSockIfaddr, "ifindex", ifaddr_ifindex, 0);