Module: wine Branch: master Commit: 0f86ae37c63ac9d55fe068d85440b121d03df432 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0f86ae37c63ac9d55fe068d854... Author: Marcus Meissner <meissner(a)suse.de> Date: Tue Jul 2 15:45:04 2013 +0200 oleaut32: Check a return value (Coverity). --- dlls/oleaut32/usrmarshal.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/dlls/oleaut32/usrmarshal.c b/dlls/oleaut32/usrmarshal.c index 495c257..0b541e4 100644 --- a/dlls/oleaut32/usrmarshal.c +++ b/dlls/oleaut32/usrmarshal.c @@ -1070,15 +1070,16 @@ unsigned char * WINAPI LPSAFEARRAY_UserUnmarshal(ULONG *pFlags, unsigned char *B Buffer += sizeof(wiresab[0]) * wiresa->cDims; if(vt) + { *ppsa = SafeArrayCreateEx(vt, wiresa->cDims, wiresab, NULL); + if (!*ppsa) RpcRaiseException(E_OUTOFMEMORY); + } else { - SafeArrayAllocDescriptor(wiresa->cDims, ppsa); - if(*ppsa) - memcpy((*ppsa)->rgsabound, wiresab, sizeof(SAFEARRAYBOUND) * wiresa->cDims); + if (FAILED(SafeArrayAllocDescriptor(wiresa->cDims, ppsa))) + RpcRaiseException(E_OUTOFMEMORY); + memcpy((*ppsa)->rgsabound, wiresab, sizeof(SAFEARRAYBOUND) * wiresa->cDims); } - if (!*ppsa) - RpcRaiseException(E_OUTOFMEMORY); /* be careful about which flags we set since they could be a security * risk */