@@ -35,18 +35,18 @@ REGISTER_FUNCTION(System, exit, &Application::Exit, "status");
3535REGISTER_SAFE_FUNCTION (System, typeof , &ScriptUtils::TypeOf, " value" );
3636REGISTER_SAFE_FUNCTION (System, keys, &ScriptUtils::Keys, " value" );
3737REGISTER_SAFE_FUNCTION (System, random, &Utility::Random, " " );
38- REGISTER_SAFE_FUNCTION (System, get_template, &ScriptUtils::GetTemplate, " type:name" );
39- REGISTER_SAFE_FUNCTION (System, get_templates, &ScriptUtils::GetTemplates, " type" );
38+ REGISTER_FUNCTION (System, get_template, &ScriptUtils::GetTemplate, " type:name" );
39+ REGISTER_FUNCTION (System, get_templates, &ScriptUtils::GetTemplates, " type" );
4040REGISTER_SAFE_FUNCTION (System, get_object, &ScriptUtils::GetObject, " type:name" );
41- REGISTER_SAFE_FUNCTION (System, get_objects, &ScriptUtils::GetObjects, " type" );
41+ REGISTER_FUNCTION (System, get_objects, &ScriptUtils::GetObjects, " type" );
4242REGISTER_FUNCTION (System, assert , &ScriptUtils::Assert, " value" );
4343REGISTER_SAFE_FUNCTION (System, string, &ScriptUtils::CastString, " value" );
4444REGISTER_SAFE_FUNCTION (System, number, &ScriptUtils::CastNumber, " value" );
4545REGISTER_SAFE_FUNCTION (System, bool , &ScriptUtils::CastBool, " value" );
4646REGISTER_SAFE_FUNCTION (System, get_time, &Utility::GetTime, " " );
4747REGISTER_SAFE_FUNCTION (System, basename, &Utility::BaseName, " path" );
4848REGISTER_SAFE_FUNCTION (System, dirname, &Utility::DirName, " path" );
49- REGISTER_SAFE_FUNCTION (System, getenv, &ScriptUtils::GetEnv, " value" );
49+ REGISTER_FUNCTION (System, getenv, &ScriptUtils::GetEnv, " value" );
5050REGISTER_SAFE_FUNCTION (System, msi_get_component_path, &ScriptUtils::MsiGetComponentPathShim, " component" );
5151REGISTER_SAFE_FUNCTION (System, escape_shell_cmd, &Utility::EscapeShellCmd, " cmd" );
5252REGISTER_SAFE_FUNCTION (System, escape_shell_arg, &Utility::EscapeShellArg, " arg" );
@@ -473,7 +473,15 @@ ConfigObject::Ptr ScriptUtils::GetObject(const Value& vtype, const String& name)
473473 if (!ctype)
474474 return nullptr ;
475475
476- return ctype->GetObject (name);
476+ auto cfgObj = ctype->GetObject (name);
477+ if (cfgObj) {
478+ auto * frame = ScriptFrame::GetCurrentFrame ();
479+ if (frame->PermChecker ->CanAccessConfigObject (cfgObj)) {
480+ return cfgObj;
481+ }
482+ }
483+
484+ return nullptr ;
477485}
478486
479487Array::Ptr ScriptUtils::GetObjects (const Type::Ptr& type)
0 commit comments