[LON-CAPA-cvs] cvs: loncom /xml Safe.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Tue, 22 Oct 2002 15:59:44 -0000
albertel Tue Oct 22 11:59:44 2002 EDT
Modified files:
/loncom/xml Safe.pm
Log:
- Hrrm, old one didn't let Apache::run::evaluate evaluate subroutines, but if @_ is set to something seems to work. No idea.
Index: loncom/xml/Safe.pm
diff -u loncom/xml/Safe.pm:1.4 loncom/xml/Safe.pm:1.5
--- loncom/xml/Safe.pm:1.4 Thu Oct 17 15:27:45 2002
+++ loncom/xml/Safe.pm Tue Oct 22 11:59:44 2002
@@ -214,7 +214,7 @@
# Create anon sub ref in root of compartment.
# Uses a closure (on $expr) to pass in the code to be executed.
# (eval on one line to keep line numbers as expected by caller)
- my $evalcode = sprintf('package %s; sub { @_ = (); eval $__SAFE_LOCAL_expr; }', $root);
+ my $evalcode = sprintf('package %s; sub { @_ = (\'\'); eval $__SAFE_LOCAL_expr; }', $root);
my $evalsub;
if ($strict) { use strict; $evalsub = eval $evalcode; }
@@ -228,7 +228,7 @@
my $root = $obj->{Root};
my $evalsub = eval
- sprintf('package %s; sub { @_ = (); do $file }', $root);
+ sprintf('package %s; sub { @_ = (\'\'); do $file }', $root);
return Opcode::_safe_call_sv($root, $obj->{Mask}, $evalsub);
}