Module: wine Branch: master Commit: ed48ffdfae9fd03c1ee76d02d7efb96a88ffb633 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ed48ffdfae9fd03c1ee76d02d7...
Author: Michael Stefaniuc mstefani@redhat.de Date: Fri Jun 26 00:27:29 2015 +0200
dmstyle: IsParamSupported method doesn't crashes on NULL.
---
dlls/dmstyle/auditiontrack.c | 4 ++++ dlls/dmstyle/chordtrack.c | 4 ++++ dlls/dmstyle/commandtrack.c | 4 ++++ dlls/dmstyle/motiftrack.c | 4 ++++ dlls/dmstyle/mutetrack.c | 4 ++++ dlls/dmstyle/styletrack.c | 4 ++++ dlls/dmstyle/tests/dmstyle.c | 4 ++++ 7 files changed, 28 insertions(+)
diff --git a/dlls/dmstyle/auditiontrack.c b/dlls/dmstyle/auditiontrack.c index 4e14db0..f237a72 100644 --- a/dlls/dmstyle/auditiontrack.c +++ b/dlls/dmstyle/auditiontrack.c @@ -144,6 +144,10 @@ static HRESULT WINAPI IDirectMusicAuditionTrack_IDirectMusicTrack_IsParamSupport ICOM_THIS_MULTI(IDirectMusicAuditionTrack, TrackVtbl, iface);
TRACE("(%p, %s)\n", This, debugstr_dmguid(rguidType)); + + if (!rguidType) + return E_POINTER; + /* didn't find any params */ TRACE("param unsupported\n"); return DMUS_E_TYPE_UNSUPPORTED; diff --git a/dlls/dmstyle/chordtrack.c b/dlls/dmstyle/chordtrack.c index 5ce3eb1..23fe16b 100644 --- a/dlls/dmstyle/chordtrack.c +++ b/dlls/dmstyle/chordtrack.c @@ -145,6 +145,10 @@ static HRESULT WINAPI IDirectMusicChordTrack_IDirectMusicTrack_IsParamSupported ICOM_THIS_MULTI(IDirectMusicChordTrack, TrackVtbl, iface);
TRACE("(%p, %s)\n", This, debugstr_dmguid(rguidType)); + + if (!rguidType) + return E_POINTER; + if (IsEqualGUID (rguidType, &GUID_BandParam) || IsEqualGUID (rguidType, &GUID_ChordParam) || IsEqualGUID (rguidType, &GUID_RhythmParam)) { diff --git a/dlls/dmstyle/commandtrack.c b/dlls/dmstyle/commandtrack.c index 4cf208b..35415fb 100644 --- a/dlls/dmstyle/commandtrack.c +++ b/dlls/dmstyle/commandtrack.c @@ -145,6 +145,10 @@ static HRESULT WINAPI IDirectMusicCommandTrack_IDirectMusicTrack_IsParamSupporte ICOM_THIS_MULTI(IDirectMusicCommandTrack, TrackVtbl, iface);
TRACE("(%p, %s)\n", This, debugstr_dmguid(rguidType)); + + if (!rguidType) + return E_POINTER; + if (IsEqualGUID (rguidType, &GUID_CommandParam) || IsEqualGUID (rguidType, &GUID_CommandParam2) || IsEqualGUID (rguidType, &GUID_CommandParamNext)) { diff --git a/dlls/dmstyle/motiftrack.c b/dlls/dmstyle/motiftrack.c index 9a25a05..d0449a7 100644 --- a/dlls/dmstyle/motiftrack.c +++ b/dlls/dmstyle/motiftrack.c @@ -144,6 +144,10 @@ static HRESULT WINAPI IDirectMusicMotifTrack_IDirectMusicTrack_IsParamSupported ICOM_THIS_MULTI(IDirectMusicMotifTrack, TrackVtbl, iface);
TRACE("(%p, %s)\n", This, debugstr_dmguid(rguidType)); + + if (!rguidType) + return E_POINTER; + if (IsEqualGUID (rguidType, &GUID_DisableTimeSig) || IsEqualGUID (rguidType, &GUID_EnableTimeSig) || IsEqualGUID (rguidType, &GUID_SeedVariations) diff --git a/dlls/dmstyle/mutetrack.c b/dlls/dmstyle/mutetrack.c index 64390f1..3010ad6 100644 --- a/dlls/dmstyle/mutetrack.c +++ b/dlls/dmstyle/mutetrack.c @@ -144,6 +144,10 @@ static HRESULT WINAPI IDirectMusicMuteTrack_IDirectMusicTrack_IsParamSupported ( ICOM_THIS_MULTI(IDirectMusicMuteTrack, TrackVtbl, iface);
TRACE("(%p, %s)\n", This, debugstr_dmguid(rguidType)); + + if (!rguidType) + return E_POINTER; + if (IsEqualGUID (rguidType, &GUID_MuteParam)) { TRACE("param supported\n"); return S_OK; diff --git a/dlls/dmstyle/styletrack.c b/dlls/dmstyle/styletrack.c index 39e5a70..69c3889 100644 --- a/dlls/dmstyle/styletrack.c +++ b/dlls/dmstyle/styletrack.c @@ -145,6 +145,10 @@ static HRESULT WINAPI IDirectMusicStyleTrack_IDirectMusicTrack_IsParamSupported ICOM_THIS_MULTI(IDirectMusicStyleTrack, TrackVtbl, iface);
TRACE("(%p, %s)\n", This, debugstr_dmguid(rguidType)); + + if (!rguidType) + return E_POINTER; + if (IsEqualGUID (rguidType, &GUID_DisableTimeSig) || IsEqualGUID (rguidType, &GUID_EnableTimeSig) || IsEqualGUID (rguidType, &GUID_IDirectMusicStyle) diff --git a/dlls/dmstyle/tests/dmstyle.c b/dlls/dmstyle/tests/dmstyle.c index 0a0c5aa..58c229c 100644 --- a/dlls/dmstyle/tests/dmstyle.c +++ b/dlls/dmstyle/tests/dmstyle.c @@ -273,6 +273,10 @@ static void test_track(void) } ok(hr == S_OK, "%s create failed: %08x, expected S_OK\n", class[i].name, hr);
+ /* IDirectMusicTrack8 */ + hr = IDirectMusicTrack8_IsParamSupported(dmt8, NULL); + ok(hr == E_POINTER, "IDirectMusicTrack8_IsParamSupported failed: %08x\n", hr); + /* IPersistStream */ hr = IDirectMusicTrack8_QueryInterface(dmt8, &IID_IPersistStream, (void**)&ps); ok(hr == S_OK, "QueryInterface for IID_IPersistStream failed: %08x\n", hr);