Commit b897ad17 authored by Alex Villacís Lasso's avatar Alex Villacís Lasso Committed by Alexandre Julliard

msacm: acmDriverPriority() compares dwPriority against negative values.

This issue was spotted by Andrew Talbot.
parent 0b4eafad
...@@ -671,9 +671,9 @@ MMRESULT WINAPI acmDriverPriority(HACMDRIVERID hadid, DWORD dwPriority, DWORD fd ...@@ -671,9 +671,9 @@ MMRESULT WINAPI acmDriverPriority(HACMDRIVERID hadid, DWORD dwPriority, DWORD fd
if (padid->fdwSupport & ACMDRIVERDETAILS_SUPPORTF_LOCAL) { if (padid->fdwSupport & ACMDRIVERDETAILS_SUPPORTF_LOCAL) {
return MMSYSERR_NOTSUPPORTED; return MMSYSERR_NOTSUPPORTED;
} }
if (dwPriority != 1 && dwPriority != -1) { if (dwPriority != 1 && dwPriority != (DWORD)-1) {
FIXME("unexpected priority %ld, using sign only\n", dwPriority); FIXME("unexpected priority %ld, using sign only\n", dwPriority);
if (dwPriority < 0) dwPriority = -1; if ((signed)dwPriority < 0) dwPriority = (DWORD)-1;
if (dwPriority > 0) dwPriority = 1; if (dwPriority > 0) dwPriority = 1;
} }
...@@ -681,7 +681,7 @@ MMRESULT WINAPI acmDriverPriority(HACMDRIVERID hadid, DWORD dwPriority, DWORD fd ...@@ -681,7 +681,7 @@ MMRESULT WINAPI acmDriverPriority(HACMDRIVERID hadid, DWORD dwPriority, DWORD fd
(padid->pPrevACMDriverID->fdwSupport & ACMDRIVERDETAILS_SUPPORTF_LOCAL))) { (padid->pPrevACMDriverID->fdwSupport & ACMDRIVERDETAILS_SUPPORTF_LOCAL))) {
/* do nothing - driver is first of list, or first after last /* do nothing - driver is first of list, or first after last
local driver */ local driver */
} else if (dwPriority == -1 && padid->pNextACMDriverID == NULL) { } else if (dwPriority == (DWORD)-1 && padid->pNextACMDriverID == NULL) {
/* do nothing - driver is last of list */ /* do nothing - driver is last of list */
} else { } else {
MSACM_RePositionDriver(padid, dwPriority); MSACM_RePositionDriver(padid, dwPriority);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment