| Server IP : 82.208.35.60 / Your IP : 216.73.216.89 Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31 System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64 User : studiokobylisy_cz ( 1008) PHP Version : 7.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/ports/databases/ruby-bdb/files/ |
Upload File : |
--- 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);
}