You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Write a function that returns a function pointer to itself
Put that function inside a shared library
dlopen the library
Call the function
Store the returned fn
Call dlclose on the library
Try to call the fn. Boom?
Does the crate have anything to prevent this? I see the Symbol types that are trying to ensure you only call a function if it's still loaded as long as you are going through them, but it seems like it's possible for users to circumvent by having functions that return function pointers, but I'm still new to Rust and I haven't actually tried coding this up so I could be wrong.
The text was updated successfully, but these errors were encountered:
A dastardly user could:
Does the crate have anything to prevent this? I see the Symbol types that are trying to ensure you only call a function if it's still loaded as long as you are going through them, but it seems like it's possible for users to circumvent by having functions that return function pointers, but I'm still new to Rust and I haven't actually tried coding this up so I could be wrong.
The text was updated successfully, but these errors were encountered: