dmstyle: IsParamSupported method doesn't crashes on NULL.
Michael Stefaniuc
mstefani at redhat.de
Thu Jun 25 17:27:29 CDT 2015
---
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);
--
2.1.0
More information about the wine-patches
mailing list