Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calling an action made by oneself crashes R3 #1051

Open
rebolbot opened this issue Jul 6, 2009 · 2 comments
Open

Calling an action made by oneself crashes R3 #1051

rebolbot opened this issue Jul 6, 2009 · 2 comments

Comments

@rebolbot
Copy link
Collaborator

rebolbot commented Jul 6, 2009

Submitted by: meijeru

It is not forbidden to execute MAKE for an action! value (though of course this has not much sense). Same goes for native! and op!.

However, calling the action or native one has just made crashes REBOL

>> a: make action! [[][]]
== make action! [[][]]
>> a
** crash
;; also:
>> n: make native! [[][]]
== make native! [[][]]
>> n
** crash

CC - Data [ Version: alpha 66 Type: Bug Platform: All Category: n/a Reproduce: Always Fixed-in:alpha 67 ]

@rebolbot
Copy link
Collaborator Author

rebolbot commented Jul 6, 2009

Submitted by: BrianH

The error is that make action! or native! [[][]] works at all - it should throw an error.

The ACTION and NATIVE functions should be the only way to create values of these types. If the MAKE action works badly with these specs, then trial and error would eventually lead to specs that work, which would allow recreation of these functions in REBOL code when they are otherwise intentionally inaccessible. This would be a major security hole.

As it is, the behavior of the make actions of these types suggests that the resulting functions access memory badly. We are lucky that it crashes - the situation is worse for op! #1052.

@rebolbot
Copy link
Collaborator Author

rebolbot commented Jul 6, 2009

Submitted by: Carl

For op!: see my comment in #1052.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant