Marcus Meissner : dmime: Actually get a pCLSID stream before using it ( Coverity).

Alexandre Julliard julliard at winehq.org
Fri Dec 11 11:04:46 CST 2009


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

Author: Marcus Meissner <marcus at jet.franken.de>
Date:   Fri Dec 11 00:04:40 2009 +0100

dmime: Actually get a pCLSID stream before using it (Coverity).

---

 dlls/dmime/segment.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/dlls/dmime/segment.c b/dlls/dmime/segment.c
index 64cb10a..ca127d7 100644
--- a/dlls/dmime/segment.c
+++ b/dlls/dmime/segment.c
@@ -359,6 +359,12 @@ static HRESULT WINAPI IDirectMusicSegment8Impl_IDirectMusicSegment8_GetParam (LP
     LIST_FOR_EACH (pEntry, &This->Tracks) {
       pIt = LIST_ENTRY(pEntry, DMUS_PRIVATE_SEGMENT_TRACK, entry);
 
+      hr = IDirectMusicTrack_QueryInterface(pIt->pTrack, &IID_IPersistStream, (void**) &pCLSIDStream);
+      if (FAILED(hr)) {
+	ERR("(%p): object %p don't implement IPersistStream Interface. Expect a crash (critical problem)\n", This, pIt->pTrack);
+	continue ;
+      }
+
       TRACE(" - %p -> 0x%x,%p\n", pIt, pIt->dwGroupBits, pIt->pTrack);
 
       if (0xFFFFFFFF != dwGroupBits && 0 == (pIt->dwGroupBits & dwGroupBits)) continue ;




More information about the wine-cvs mailing list