$NetBSD: patch-cp,v 1.1.2.2 2006/08/02 13:59:02 salo Exp $

--- re.c.orig	2005-12-13 12:27:51.000000000 +0900
+++ re.c
@@ -1332,6 +1332,9 @@ rb_reg_initialize(obj, s, len, options)
 {
     struct RRegexp *re = RREGEXP(obj);
 
+    if (!OBJ_TAINTED(obj) && rb_safe_level() >= 4)
+	rb_raise(rb_eSecurityError, "Insecure: can't modify regexp");
+    rb_check_frozen(obj);
     if (re->ptr) re_free_pattern(re->ptr);
     if (re->str) free(re->str);
     re->ptr = 0;
