Nikolay Sivov : dxdiagn: Improve error handling when converting to VT_BSTR (Coverity).
Module: wine Branch: master Commit: 0aa56cabe4bfaa3effe338431795a7f1b24ccece URL: http://source.winehq.org/git/wine.git/?a=commit;h=0aa56cabe4bfaa3effe3384317... Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Tue Dec 22 00:51:36 2015 +0300 dxdiagn: Improve error handling when converting to VT_BSTR (Coverity). Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dxdiagn/provider.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dlls/dxdiagn/provider.c b/dlls/dxdiagn/provider.c index 2890c61..5665d01 100644 --- a/dlls/dxdiagn/provider.c +++ b/dlls/dxdiagn/provider.c @@ -346,6 +346,7 @@ static inline HRESULT add_bool_property(IDxDiagContainerImpl_Container *node, co static inline HRESULT add_ull_as_bstr_property(IDxDiagContainerImpl_Container *node, const WCHAR *propName, ULONGLONG data ) { IDxDiagContainerImpl_Property *prop; + HRESULT hr; prop = allocate_property_information(propName); if (!prop) @@ -354,7 +355,12 @@ static inline HRESULT add_ull_as_bstr_property(IDxDiagContainerImpl_Container *n V_VT(&prop->vProp) = VT_UI8; V_UI8(&prop->vProp) = data; - VariantChangeType(&prop->vProp, &prop->vProp, 0, VT_BSTR); + hr = VariantChangeType(&prop->vProp, &prop->vProp, 0, VT_BSTR); + if (FAILED(hr)) + { + free_property_information(prop); + return hr; + } list_add_tail(&node->properties, &prop->entry); ++node->nProperties;
participants (1)
-
Alexandre Julliard