decodeResult and decodeAllocation called memcpy with the data() of empty vectors, which may be null. Passing a null pointer to memcpy is undefined even for a zero size, and UBSan reports it on every entry without push constants, including the existing shader disk cache test. The copy now runs only for a non-empty table, as Reader::Values does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R5WJS4ZdQynAJesCZKH5hb |
||
|---|---|---|
| .. | ||
| Decoder | ||
| libs | ||
| relinker | ||
| shader/recompiler | ||