Henri Verbeet : d3d10: Validate the DXBC version.
Alexandre Julliard
julliard at winehq.org
Fri Jan 19 15:43:21 CST 2018
Module: wine
Branch: master
Commit: 8553df475ec32a9caf68a4b3f8ffd2289aa6eabf
URL: https://source.winehq.org/git/wine.git/?a=commit;h=8553df475ec32a9caf68a4b3f8ffd2289aa6eabf
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Fri Jan 19 19:25:14 2018 +0100
d3d10: Validate the DXBC version.
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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);
More information about the wine-cvs
mailing list