Alexandre Julliard : user32: Data chunks in RIFF file must be word-aligned.

Alexandre Julliard julliard at winehq.org
Thu Oct 22 10:39:57 CDT 2009


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Oct 22 15:15:00 2009 +0200

user32: Data chunks in RIFF file must be word-aligned.

---

 dlls/user32/cursoricon.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c
index 3872c8a..248f3a0 100644
--- a/dlls/user32/cursoricon.c
+++ b/dlls/user32/cursoricon.c
@@ -967,7 +967,7 @@ static void riff_find_chunk( DWORD chunk_id, DWORD chunk_type, const riff_chunk_
                 || (chunk_type && *(DWORD *)ptr == chunk_type && *((DWORD *)ptr + 2) == chunk_id ))
         {
             ptr += sizeof(DWORD);
-            chunk->data_size = *(DWORD *)ptr;
+            chunk->data_size = (*(DWORD *)ptr + 1) & ~1;
             ptr += sizeof(DWORD);
             if (chunk_type == ANI_LIST_ID || chunk_type == ANI_RIFF_ID) ptr += sizeof(DWORD);
             chunk->data = ptr;
@@ -976,7 +976,7 @@ static void riff_find_chunk( DWORD chunk_id, DWORD chunk_type, const riff_chunk_
         }
 
         ptr += sizeof(DWORD);
-        ptr += *(DWORD *)ptr;
+        ptr += (*(DWORD *)ptr + 1) & ~1;
         ptr += sizeof(DWORD);
     }
 }




More information about the wine-cvs mailing list