-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Closed
Labels
A-WindowingPlatform-agnostic interface layer to run your app inPlatform-agnostic interface layer to run your app inC-BugAn unexpected or incorrect behaviorAn unexpected or incorrect behaviorD-StraightforwardSimple bug fixes and API improvements, docs, test and examplesSimple bug fixes and API improvements, docs, test and examplesD-UnsafeTouches with unsafe code in some wayTouches with unsafe code in some wayP-UnsoundA bug that results in undefined compiler behaviorA bug that results in undefined compiler behaviorS-Ready-For-ImplementationThis issue is ready for an implementation PR. Go for it!This issue is ready for an implementation PR. Go for it!
Description
Bevy version
0.15
What went wrong
In create_surfaces, the underlying create_surface_unsafe is called under the assumption that any surface target inside of ExtractedWindows is guaranteed to be valid.
This isn't true, however. The fields on RawHandleWrapper are public, so any user could insert garbage data and cause the call to create_surface_unsafe to use invalid data.
Propose solution
Make RawHandleWrapper's fields private, replacing them with accessors and unsafe constructors.
Metadata
Metadata
Assignees
Labels
A-WindowingPlatform-agnostic interface layer to run your app inPlatform-agnostic interface layer to run your app inC-BugAn unexpected or incorrect behaviorAn unexpected or incorrect behaviorD-StraightforwardSimple bug fixes and API improvements, docs, test and examplesSimple bug fixes and API improvements, docs, test and examplesD-UnsafeTouches with unsafe code in some wayTouches with unsafe code in some wayP-UnsoundA bug that results in undefined compiler behaviorA bug that results in undefined compiler behaviorS-Ready-For-ImplementationThis issue is ready for an implementation PR. Go for it!This issue is ready for an implementation PR. Go for it!