Kai Blin escribió:
dlls/msacm32/driver.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/dlls/msacm32/driver.c b/dlls/msacm32/driver.c index d4ad644..06e6614 100644 --- a/dlls/msacm32/driver.c +++ b/dlls/msacm32/driver.c @@ -430,7 +430,7 @@ LRESULT WINAPI acmDriverMessage(HACMDRIV /* This verification is required because DRVCONFIGINFO is 12 bytes long, yet native msacm reports a 16-byte structure to codecs. */
if (iStructSize < sizeof(DRVCONFIGINFO)) iStructSize = sizeof(DRVCONFIGINFO);
if (iStructSize > sizeof(DRVCONFIGINFO)) iStructSize = sizeof(DRVCONFIGINFO); pConfigInfo = HeapAlloc(MSACM_hHeap, 0, iStructSize); if (!pConfigInfo) { ERR("OOM while supplying DRVCONFIGINFO for DRV_CONFIGURE, using NULL\n");
This is not a typo, but rather an unnecessary verification, from when I didn't know the true size of a DRVCONFIGINFO. The struct size should be *exactly 16 bytes*, even though only the first 12 bytes are used. This patch might even introduce a bug, where the struct info assumed by the codec to be 16 bytes when only 12 are allocated, and some smart-ass codec tries to use the last 4 bytes of the struct for its own purposes, which with this patch are now past the end of the allocated array. A more correct patch would fix the comment to indicate that exactly 16 bytes are allocated for a 12-byte struct, and remove the conditional assignment altogether.
Alex Villacís Lasso