Henri Verbeet : d3d10: Validate the data size in parse_fx10() (AFL).

Alexandre Julliard julliard at winehq.org
Fri May 27 09:42:32 CDT 2016


Module: wine
Branch: master
Commit: e36630f7025b749eb3dc120f6495dd1235ed609f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e36630f7025b749eb3dc120f6495dd1235ed609f

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu May 26 19:36:55 2016 +0200

d3d10: Validate the data size in parse_fx10() (AFL).

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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);




More information about the wine-cvs mailing list