[PATCH] oleaut32: check return code of Currency2Integer (Coverity)

Marcus Meissner marcus at jet.franken.de
Thu Jun 22 01:50:36 CDT 2017


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 <marcus at jet.franken.de>
---
 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




More information about the wine-patches mailing list