Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/surface.c:
+ uint16_t height; + uint8_t depth; + uint8_t image_descriptor; +}; +#include "poppack.h" + +static HRESULT d3dx_initialize_image_from_tga(const void *src_data, uint32_t src_data_size, struct d3dx_image *image) +{ + const struct tga_header *header = (src_data_size >= sizeof(*header)) ? (const struct tga_header *)src_data : NULL; + uint32_t expected_header_size = sizeof(*header); + + if (!header) + return D3DXERR_INVALIDDATA; + + expected_header_size += header->id_length; + expected_header_size += header->color_map_length * ((header->color_map_entrysize + 7) >> 3); Very nitpicky but it seems clearer to do `/ 8` (or even better `/ CHAR_BIT`) instead of `>> 3`.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/6673#note_85145