mirror of
https://git.freebsd.org/ports.git
synced 2025-05-15 00:31:51 -04:00
41 lines
1.1 KiB
C
41 lines
1.1 KiB
C
--- src/env.c.orig 2011-04-06 19:35:39 UTC
|
|
+++ src/env.c
|
|
@@ -1121,9 +1121,11 @@ bdb_env_close(VALUE obj)
|
|
{
|
|
bdb_ENV *envst;
|
|
|
|
+#if defined(RUBY_SAFE_LEVEL_MAX) && RUBY_SAFE_LEVEL_MAX >= 4
|
|
if (!OBJ_TAINTED(obj) && rb_safe_level() >= 4) {
|
|
rb_raise(rb_eSecurityError, "Insecure: can't close the environnement");
|
|
}
|
|
+#endif
|
|
GetEnvDB(obj, envst);
|
|
bdb_final(envst);
|
|
RDATA(obj)->dfree = free;
|
|
@@ -1517,12 +1519,16 @@ bdb_env_init(int argc, VALUE *argv, VALUE obj)
|
|
flags = NUM2INT(c);
|
|
break;
|
|
}
|
|
+#if defined(RUBY_SAFE_LEVEL_MAX) && RUBY_SAFE_LEVEL_MAX >= 4
|
|
if (flags & DB_CREATE) {
|
|
rb_secure(4);
|
|
}
|
|
+#endif
|
|
+#if defined(RUBY_SAFE_LEVEL_MAX) && RUBY_SAFE_LEVEL_MAX >= 1
|
|
if (flags & DB_USE_ENVIRON) {
|
|
rb_secure(1);
|
|
}
|
|
+#endif
|
|
#ifndef BDB_NO_THREAD_COMPILE
|
|
if (!(envst->options & BDB_NO_THREAD)) {
|
|
bdb_set_func(envst);
|
|
@@ -1658,7 +1664,9 @@ bdb_env_s_remove(int argc, VALUE *argv, VALUE obj)
|
|
char *db_home;
|
|
int flag = 0;
|
|
|
|
+#if defined(RUBY_SAFE_LEVEL_MAX) && RUBY_SAFE_LEVEL_MAX >= 2
|
|
rb_secure(2);
|
|
+#endif
|
|
if (rb_scan_args(argc, argv, "11", &a, &b) == 2) {
|
|
flag = NUM2INT(b);
|
|
}
|