mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
call rb_frame_callee() only once
* eval_error.c (error_pos): no needs to call rb_frame_callee() twice. * safe.c (rb_secure, rb_insecure_operation): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
bea632a016
commit
37b862c637
2 changed files with 9 additions and 6 deletions
|
@ -25,12 +25,13 @@ error_pos(void)
|
||||||
int sourceline = rb_sourceline();
|
int sourceline = rb_sourceline();
|
||||||
|
|
||||||
if (sourcefile) {
|
if (sourcefile) {
|
||||||
|
ID caller_name;
|
||||||
if (sourceline == 0) {
|
if (sourceline == 0) {
|
||||||
warn_printf("%s", sourcefile);
|
warn_printf("%s", sourcefile);
|
||||||
}
|
}
|
||||||
else if (rb_frame_callee()) {
|
else if ((caller_name = rb_frame_callee()) != 0) {
|
||||||
warn_printf("%s:%d:in `%s'", sourcefile, sourceline,
|
warn_printf("%s:%d:in `%s'", sourcefile, sourceline,
|
||||||
rb_id2name(rb_frame_callee()));
|
rb_id2name(caller_name));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
warn_printf("%s:%d", sourcefile, sourceline);
|
warn_printf("%s:%d", sourcefile, sourceline);
|
||||||
|
|
10
safe.c
10
safe.c
|
@ -79,9 +79,10 @@ void
|
||||||
rb_secure(int level)
|
rb_secure(int level)
|
||||||
{
|
{
|
||||||
if (level <= rb_safe_level()) {
|
if (level <= rb_safe_level()) {
|
||||||
if (rb_frame_callee()) {
|
ID caller_name = rb_frame_callee();
|
||||||
|
if (caller_name) {
|
||||||
rb_raise(rb_eSecurityError, "Insecure operation `%s' at level %d",
|
rb_raise(rb_eSecurityError, "Insecure operation `%s' at level %d",
|
||||||
rb_id2name(rb_frame_callee()), rb_safe_level());
|
rb_id2name(caller_name), rb_safe_level());
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rb_raise(rb_eSecurityError, "Insecure operation at level %d",
|
rb_raise(rb_eSecurityError, "Insecure operation at level %d",
|
||||||
|
@ -100,9 +101,10 @@ rb_secure_update(VALUE obj)
|
||||||
void
|
void
|
||||||
rb_insecure_operation(void)
|
rb_insecure_operation(void)
|
||||||
{
|
{
|
||||||
if (rb_frame_callee()) {
|
ID caller_name = rb_frame_callee();
|
||||||
|
if (caller_name) {
|
||||||
rb_raise(rb_eSecurityError, "Insecure operation - %s",
|
rb_raise(rb_eSecurityError, "Insecure operation - %s",
|
||||||
rb_id2name(rb_frame_callee()));
|
rb_id2name(caller_name));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rb_raise(rb_eSecurityError, "Insecure operation: -r");
|
rb_raise(rb_eSecurityError, "Insecure operation: -r");
|
||||||
|
|
Loading…
Add table
Reference in a new issue