From a9e712b1b495f5d19b98ef23940c6be20c6f8581 Mon Sep 17 00:00:00 2001 From: Brandon Mitchell Date: Tue, 31 May 2011 16:24:55 -0700 Subject: [PATCH] Make class and module objects unfreezeable to prevent future extension of these objects from resulting in TypeErrors. --- object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object.c b/object.c index f658560fd..b389958f2 100644 --- a/object.c +++ b/object.c @@ -252,7 +252,7 @@ rb_obj_freeze(VALUE obj) break; } } - if (!OBJ_FROZEN(obj)) { + if (!OBJ_FROZEN(obj) && TYPE(obj) != T_CLASS && TYPE(obj) != T_MODULE) { if (rb_safe_level() >= 4 && !OBJ_TAINTED(obj)) { rb_raise(rb_eSecurityError, "Insecure: can't freeze object"); }