mirror of
https://github.com/godotengine/godot.git
synced 2026-05-06 15:59:58 -04:00
65ca207d2c
UBSan reports: image_saver_dds.cpp:417: implicit conversion from type 'uint32_t' of value 4278190080 to type 'int32_t' changed the value to -16777216 stream_peer.cpp:184: implicit conversion from type 'int32_t' of value -16777216 to type 'uint32_t' changed the value to 4278190080 The DDS pixel format masks (r/g/b/a_mask) are uint32_t but put_32 takes int32_t. Use put_u32 to avoid the round-trip conversion that UBSan flags when the high bit is set (e.g. a_mask = 0xFF000000). This fix found a large class of uses where we put unsigned integer values into integer puts.