Marcus Meissner : d3dxof: Check returns of read_bytes (Coverity).
Module: wine Branch: master Commit: 5ba1f867a1f838e9b88b4247e8fc4839a929aaa2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5ba1f867a1f838e9b88b4247e8... Author: Marcus Meissner <marcus(a)jet.franken.de> Date: Thu Jun 16 17:47:52 2011 +0200 d3dxof: Check returns of read_bytes (Coverity). --- dlls/d3dxof/parsing.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dlls/d3dxof/parsing.c b/dlls/d3dxof/parsing.c index cbf1761..4acaaba 100644 --- a/dlls/d3dxof/parsing.c +++ b/dlls/d3dxof/parsing.c @@ -233,8 +233,10 @@ HRESULT parse_header(parse_buffer * buf, BYTE ** decomp_buffer_ptr) buf->rem_bytes -= sizeof(WORD) * 2; buf->buffer += sizeof(WORD) * 2; - read_bytes(buf, &decomp_size, sizeof(decomp_size)); - read_bytes(buf, &comp_size, sizeof(comp_size)); + if (!read_bytes(buf, &decomp_size, sizeof(decomp_size))) + return DXFILEERR_BADFILETYPE; + if (!read_bytes(buf, &comp_size, sizeof(comp_size))) + return DXFILEERR_BADFILETYPE; TRACE("Compressed format %s detected: compressed_size = %x, decompressed_size = %x\n", debugstr_fourcc(header[2]), comp_size, decomp_size); @@ -1049,7 +1051,8 @@ static void go_to_next_definition(parse_buffer * buf) char c; while (buf->rem_bytes) { - read_bytes(buf, &c, 1); + if (!read_bytes(buf, &c, 1)) + return; if ((c == '#') || (c == '/')) { /* Handle comment (# or //) */
participants (1)
-
Alexandre Julliard