Forum: Ruby Strange safe level change

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
F5724b97be4770b01b83e1b848c3d4e2?d=identicon&s=25 Tom (Guest)
on 2007-01-09 07:29
(Received via mailing list)
hello,

Well I'm mailing about a problem I'm having while using the rails
framework, since it does seem to be a ruby problem I thought I might
as well post here

I have a security level problem, for unknown reasons it switches from
level 0 to level 4 and then provoke some error related to the
security level...

I have a plugin we developed I that uses a lot of method.call and
apparently according to a post at technoweeny rails forum, this could
be the problem ( http://www.railsweenie.com/forums/1/topics/659 ) ...

Is there any way to resolve this problem without having to stop using
method.call (we don't really want a major rewrite) ? What exactly is
the problem and why does it happen?

I would be very grateful for your help...
58479f76374a3ba3c69b9804163f39f4?d=identicon&s=25 Eric Hodel (Guest)
on 2007-01-09 17:43
(Received via mailing list)
On Jan 8, 2007, at 22:29, Tom wrote:

> Well I'm mailing about a problem I'm having while using the rails
> framework, since it does seem to be a ruby problem I thought I
> might as well post here
>
> I have a security level problem, for unknown reasons it switches
> from level 0 to level 4 and then provoke some error related to the
> security level...

$SAFE is switched when you assign to it, never at any other time.

> I have a plugin we developed I that uses a lot of method.call and
> apparently according to a post at technoweeny rails forum, this
> could be the problem ( http://www.railsweenie.com/forums/1/topics/
> 659 ) ...
>
> Is there any way to resolve this problem without having to stop
> using method.call (we don't really want a major rewrite) ? What
> exactly is the problem and why does it happen?

You have code like $SAFE = 4 in your program somwhere.  Use grep to
find it.

Typically $SAFE = 4 is only set in a spawned thread since its so
strict its rarely useful outside of sandboxing dangerous code.

--
Eric Hodel - drbrain@segment7.net - http://blog.segment7.net

I LIT YOUR GEM ON FIRE!
This topic is locked and can not be replied to.