Marcus Meissner : d3dxof: Check returns of read_bytes (Coverity).
Alexandre Julliard
julliard at winehq.org
Thu Jun 16 14:28:50 CDT 2011
Module: wine
Branch: master
Commit: 5ba1f867a1f838e9b88b4247e8fc4839a929aaa2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5ba1f867a1f838e9b88b4247e8fc4839a929aaa2
Author: Marcus Meissner <marcus at 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 //) */
More information about the wine-cvs
mailing list