wbemprox: Fix memory leaks on error paths.
Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
eda716682b
commit
8c528d8d31
|
@ -430,7 +430,11 @@ HRESULT reg_get_stringvalue( IWbemClassObject *obj, IWbemContext *context, IWbem
|
||||||
hr = IWbemClassObject_Get( in, L"sSubKeyName", 0, &subkey, NULL, NULL );
|
hr = IWbemClassObject_Get( in, L"sSubKeyName", 0, &subkey, NULL, NULL );
|
||||||
if (hr != S_OK) return hr;
|
if (hr != S_OK) return hr;
|
||||||
hr = IWbemClassObject_Get( in, L"sValueName", 0, &name, NULL, NULL );
|
hr = IWbemClassObject_Get( in, L"sValueName", 0, &name, NULL, NULL );
|
||||||
if (hr != S_OK) return hr;
|
if (hr != S_OK)
|
||||||
|
{
|
||||||
|
VariantClear( &subkey );
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
hr = create_signature( L"StdRegProv", L"GetStringValue", PARAM_OUT, &sig );
|
hr = create_signature( L"StdRegProv", L"GetStringValue", PARAM_OUT, &sig );
|
||||||
if (hr != S_OK)
|
if (hr != S_OK)
|
||||||
|
@ -508,9 +512,18 @@ HRESULT reg_set_stringvalue( IWbemClassObject *obj, IWbemContext *context, IWbem
|
||||||
hr = IWbemClassObject_Get( in, L"sSubKeyName", 0, &subkey, NULL, NULL );
|
hr = IWbemClassObject_Get( in, L"sSubKeyName", 0, &subkey, NULL, NULL );
|
||||||
if (hr != S_OK) return hr;
|
if (hr != S_OK) return hr;
|
||||||
hr = IWbemClassObject_Get( in, L"sValueName", 0, &name, NULL, NULL );
|
hr = IWbemClassObject_Get( in, L"sValueName", 0, &name, NULL, NULL );
|
||||||
if (hr != S_OK) return hr;
|
if (hr != S_OK)
|
||||||
|
{
|
||||||
|
VariantClear( &subkey );
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
hr = IWbemClassObject_Get( in, L"sValue", 0, &value, NULL, NULL );
|
hr = IWbemClassObject_Get( in, L"sValue", 0, &value, NULL, NULL );
|
||||||
if (hr != S_OK) return hr;
|
if (hr != S_OK)
|
||||||
|
{
|
||||||
|
VariantClear( &name );
|
||||||
|
VariantClear( &subkey );
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
hr = create_signature( L"StdRegProv", L"SetStringValue", PARAM_OUT, &sig );
|
hr = create_signature( L"StdRegProv", L"SetStringValue", PARAM_OUT, &sig );
|
||||||
if (hr != S_OK)
|
if (hr != S_OK)
|
||||||
|
@ -582,9 +595,18 @@ HRESULT reg_set_dwordvalue( IWbemClassObject *obj, IWbemContext *context, IWbemC
|
||||||
hr = IWbemClassObject_Get( in, L"sSubKeyName", 0, &subkey, NULL, NULL );
|
hr = IWbemClassObject_Get( in, L"sSubKeyName", 0, &subkey, NULL, NULL );
|
||||||
if (hr != S_OK) return hr;
|
if (hr != S_OK) return hr;
|
||||||
hr = IWbemClassObject_Get( in, L"sValueName", 0, &name, NULL, NULL );
|
hr = IWbemClassObject_Get( in, L"sValueName", 0, &name, NULL, NULL );
|
||||||
if (hr != S_OK) return hr;
|
if (hr != S_OK)
|
||||||
|
{
|
||||||
|
VariantClear( &subkey );
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
hr = IWbemClassObject_Get( in, L"uValue", 0, &value, NULL, NULL );
|
hr = IWbemClassObject_Get( in, L"uValue", 0, &value, NULL, NULL );
|
||||||
if (hr != S_OK) return hr;
|
if (hr != S_OK)
|
||||||
|
{
|
||||||
|
VariantClear( &name );
|
||||||
|
VariantClear( &subkey );
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
hr = create_signature( L"StdRegProv", L"SetDWORDValue", PARAM_OUT, &sig );
|
hr = create_signature( L"StdRegProv", L"SetDWORDValue", PARAM_OUT, &sig );
|
||||||
if (hr != S_OK)
|
if (hr != S_OK)
|
||||||
|
|
Loading…
Reference in New Issue