[PATCH 4/5] d3d10: Validate the data size in parse_fx10() (AFL).

Henri Verbeet hverbeet at codeweavers.com
Thu May 26 12:36:55 CDT 2016


Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 dlls/d3d10/effect.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c
index 971e1c3..2eb0680 100644
--- a/dlls/d3d10/effect.c
+++ b/dlls/d3d10/effect.c
@@ -2180,6 +2180,12 @@ static HRESULT parse_fx10(struct d3d10_effect *e, const char *data, DWORD data_s
     const char *ptr = data;
     DWORD unknown;
 
+    if (!require_space(0, 19, sizeof(DWORD), data_size))
+    {
+        WARN("Invalid data size %#x.\n", data_size);
+        return E_INVALIDARG;
+    }
+
     /* Compiled target version (e.g. fx_4_0=0xfeff1001, fx_4_1=0xfeff1011). */
     read_dword(&ptr, &e->version);
     TRACE("Target: %#x\n", e->version);
-- 
2.1.4




More information about the wine-patches mailing list