From f0b685d5045e12ba670ee69fcf032e2fec60b42e Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sat, 31 Jan 2009 21:53:36 +0100 Subject: [PATCH] msacm32: Add missing HeapALloc failure checks (Coverity). --- dlls/msacm32/internal.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dlls/msacm32/internal.c b/dlls/msacm32/internal.c index cf76a574ab6..4100aae1918 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;