vulkano-rs / vulkano

Safe and rich Rust wrapper around the Vulkan API
Apache License 2.0
4.48k stars 433 forks source link

add null-check for empty arrays in debug trampoline #2490

Closed Fuzzyzilla closed 6 months ago

Fuzzyzilla commented 6 months ago
  1. [X] Update documentation to reflect any user-facing changes - in this repository. N/A

  2. [X] Make sure that the changes are covered by unit-tests. Covered already in debug example binary.

  3. [X] Run cargo clippy on the changes. None new, some exist already upstream.

  4. [X] Run cargo +nightly fmt on the changes.

  5. [X] Please put changelog entries in the description of this Pull Request if knowledge of this change could be valuable to users. No need to put the entries to the changelog directly, they will be transferred to the changelog file by maintainers right after the Pull Request merge.

    Please remove any items from the template below that are not applicable.

  6. [X] Describe in common words what is the purpose of this change, related Github Issues, and highlight important implementation aspects.

A simple check for null pointers in the debug callback. My current device (Mesa 24.0.2-arch1.1 on device Intel(R) HD Graphics 2500 (IVB GT1)) reports a null pointer with count of zero for empty arrays - this is allowable under the vulkan spec for VkDebugUtilsMessengerCallbackDataEXT but is invalid for use in slice::from_raw_parts which needs a well-aligned non-null pointer part even for zero length slices.

Changelog:

### Bugs fixed
Fix UB in debug messenger when driver reports null pointers for empty arrays.
marc0246 commented 6 months ago

Gracias mi amiga.