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