From: Marcus Meissner Subject: [PATCH] oleaut32: check return code of Currency2Integer (Coverity) Message-Id: <20170622065036.7353-1-marcus@jet.franken.de> Date: Thu, 22 Jun 2017 08:50:36 +0200 CID 1412730 Unchecked return value CID 1412731 Unchecked return value CID 1412734 Unchecked return value CID 1412735 Unchecked return value Signed-off-by: Marcus Meissner --- dlls/oleaut32/vartype.c | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/dlls/oleaut32/vartype.c b/dlls/oleaut32/vartype.c index fe00f51348..300127a428 100644 --- a/dlls/oleaut32/vartype.c +++ b/dlls/oleaut32/vartype.c @@ -401,9 +401,13 @@ HRESULT WINAPI VarI1FromDate(DATE dateIn, signed char* pcOut) HRESULT WINAPI VarI1FromCy(CY cyIn, signed char* pcOut) { LONG i = I1_MAX + 1; + HRESUTL hr; - VarI4FromCy(cyIn, &i); - return _VarI1FromI4(i, pcOut); + hr = VarI4FromCy(cyIn, &i); + + if (SUCCEEDED(hr)) + hr = _VarI1FromI4(i, pcOut); + return hr; } /************************************************************************ @@ -675,9 +679,13 @@ HRESULT WINAPI VarUI1FromR8(double dblIn, BYTE* pbOut) HRESULT WINAPI VarUI1FromCy(CY cyIn, BYTE* pbOut) { ULONG i = UI1_MAX + 1; + HRESULT hr; - VarUI4FromCy(cyIn, &i); - return _VarUI1FromUI4(i, pbOut); + hr = VarUI4FromCy(cyIn, &i); + + if (SUCCEEDED(hr)) + hr = _VarUI1FromUI4(i, pbOut); + return hr; } /************************************************************************ @@ -977,9 +985,13 @@ HRESULT WINAPI VarI2FromR8(double dblIn, SHORT* psOut) HRESULT WINAPI VarI2FromCy(CY cyIn, SHORT* psOut) { LONG i = I2_MAX + 1; + HRESULT hr; - VarI4FromCy(cyIn, &i); - return _VarI2FromI4(i, psOut); + hr = VarI4FromCy(cyIn, &i); + + if (SUCCEEDED(hr)) + hr = _VarI2FromI4(i, psOut); + return hr; } /************************************************************************ @@ -1310,9 +1322,13 @@ HRESULT WINAPI VarUI2FromDate(DATE dateIn, USHORT* pusOut) HRESULT WINAPI VarUI2FromCy(CY cyIn, USHORT* pusOut) { ULONG i = UI2_MAX + 1; + HRESULT hr; - VarUI4FromCy(cyIn, &i); - return _VarUI2FromUI4(i, pusOut); + hr = VarUI4FromCy(cyIn, &i); + + if (SUCCEEDED(hr)) + hr = _VarUI2FromUI4(i, pusOut); + return hr; } /************************************************************************ -- 2.13.1