[PATCH] msacm32: add missing HeapALloc failure checks (Coverity)
Marcus Meissner
marcus at jet.franken.de
Sat Jan 31 14:53:36 CST 2009
Hi,
CID 349, NULL ptr problem likely caused by us not
checking for HeapAlloc returns in this function, so added.
Ciao, Marcus
---
dlls/msacm32/internal.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/dlls/msacm32/internal.c b/dlls/msacm32/internal.c
index cf76a57..4100aae 100644
--- a/dlls/msacm32/internal.c
+++ b/dlls/msacm32/internal.c
@@ -289,18 +289,29 @@ PWINE_ACMDRIVERID MSACM_RegisterDriver(LPCWSTR pszDriverAlias, LPCWSTR pszFileNa
debugstr_w(pszDriverAlias), debugstr_w(pszFileName), pLocalDriver);
padid = HeapAlloc(MSACM_hHeap, 0, sizeof(WINE_ACMDRIVERID));
+ if (!padid)
+ return NULL;
padid->obj.dwType = WINE_ACMOBJ_DRIVERID;
padid->obj.pACMDriverID = padid;
padid->pszDriverAlias = NULL;
if (pszDriverAlias)
{
padid->pszDriverAlias = HeapAlloc( MSACM_hHeap, 0, (strlenW(pszDriverAlias)+1) * sizeof(WCHAR) );
+ if (!padid->pszDriverAlias) {
+ HeapFree(MSACM_hHeap, 0, padid);
+ return NULL;
+ }
strcpyW( padid->pszDriverAlias, pszDriverAlias );
}
padid->pszFileName = NULL;
if (pszFileName)
{
padid->pszFileName = HeapAlloc( MSACM_hHeap, 0, (strlenW(pszFileName)+1) * sizeof(WCHAR) );
+ if (!padid->pszFileName) {
+ HeapFree(MSACM_hHeap, 0, padid->pszDriverAlias);
+ HeapFree(MSACM_hHeap, 0, padid);
+ return NULL;
+ }
strcpyW( padid->pszFileName, pszFileName );
}
padid->pLocalDriver = pLocalDriver;
--
1.5.6
More information about the wine-patches
mailing list