msacm: Fix acmMetrics(ACM_METRIC_DRIVER_PRIORITY) return on error.
diff --git a/dlls/msacm/msacm32_main.c b/dlls/msacm/msacm32_main.c
index e0a1f44..7d8f9af 100644
--- a/dlls/msacm/msacm32_main.c
+++ b/dlls/msacm/msacm32_main.c
@@ -224,12 +224,15 @@
case ACM_METRIC_DRIVER_PRIORITY:
/* Return current list position of driver */
if (!hao) return MMSYSERR_INVALHANDLE;
- if (!pMetric) return MMSYSERR_INVALPARAM;
mmr = MMSYSERR_INVALHANDLE;
for (i = 1, padid = MSACM_pFirstACMDriverID; padid; i++, padid = padid->pNextACMDriverID) {
if (padid == (PWINE_ACMDRIVERID)hao) {
- *(LPDWORD)pMetric = i;
- mmr = MMSYSERR_NOERROR;
+ if (pMetric) {
+ *(LPDWORD)pMetric = i;
+ mmr = MMSYSERR_NOERROR;
+ } else {
+ mmr = MMSYSERR_INVALPARAM;
+ }
break;
}
}