Module: wine Branch: master Commit: e36630f7025b749eb3dc120f6495dd1235ed609f URL: http://source.winehq.org/git/wine.git/?a=commit;h=e36630f7025b749eb3dc120f64...
Author: Henri Verbeet hverbeet@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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);