Module: wine Branch: master Commit: 8553df475ec32a9caf68a4b3f8ffd2289aa6eabf URL: https://source.winehq.org/git/wine.git/?a=commit;h=8553df475ec32a9caf68a4b3f...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Fri Jan 19 19:25:14 2018 +0100
d3d10: Validate the DXBC version.
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/d3d10/utils.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d10/utils.c b/dlls/d3d10/utils.c index 39b0902..223b33a 100644 --- a/dlls/d3d10/utils.c +++ b/dlls/d3d10/utils.c @@ -159,6 +159,7 @@ HRESULT parse_dxbc(const char *data, SIZE_T data_size, DWORD chunk_count; DWORD total_size; unsigned int i; + DWORD version; DWORD tag;
if (!data) @@ -179,7 +180,13 @@ HRESULT parse_dxbc(const char *data, SIZE_T data_size, /* checksum? */ skip_dword_unknown("DXBC header", &ptr, 4);
- skip_dword_unknown("DXBC header", &ptr, 1); + read_dword(&ptr, &version); + TRACE("version: %#x.\n", version); + if (version != 0x00000001) + { + WARN("Got unexpected DXBC version %#x.\n", version); + return E_FAIL; + }
read_dword(&ptr, &total_size); TRACE("total size: %#x\n", total_size);