summaryrefslogtreecommitdiff
path: root/lang/ruby18-base/patches/patch-cp
blob: fc420e4ae879aae4511c19008f8a75dbdb927c4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$NetBSD: patch-cp,v 1.1 2006/08/02 07:02:44 taca 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;