[PATCH 2/2] dmime: Skip Segment header only if too much data

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Mon Nov 1 01:30:55 CDT 2021


Tron 2.0 has a segment header of 56, so is missing the rtPlayStart field.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
 dlls/dmime/segment.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/dlls/dmime/segment.c b/dlls/dmime/segment.c
index f5dbf4b9959..67522c0edb6 100644
--- a/dlls/dmime/segment.c
+++ b/dlls/dmime/segment.c
@@ -743,9 +743,7 @@ static HRESULT parse_segment_form(IDirectMusicSegment8Impl *This, IStream *strea
         switch (chunk.id) {
             case DMUS_FOURCC_SEGMENT_CHUNK:
                 /* DX7, DX8 and DX9 structure sizes */
-                if (chunk.size != offsetof(DMUS_IO_SEGMENT_HEADER, rtLength) &&
-                        chunk.size != offsetof(DMUS_IO_SEGMENT_HEADER, rtLoopStart) &&
-                        chunk.size != sizeof(DMUS_IO_SEGMENT_HEADER)) {
+                if (chunk.size > sizeof(DMUS_IO_SEGMENT_HEADER)) {
                     WARN("Invalid size of %s\n", debugstr_chunk(&chunk));
                     break;
                 }
-- 
2.33.0




More information about the wine-devel mailing list