msxml3: Corrected getAttribute to return current value and assign output var.
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index e7f03d6..814a987 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -459,15 +459,20 @@
     domelem *This = impl_from_IXMLDOMElement( iface );
     xmlNodePtr element;
     xmlChar *xml_name, *xml_value;
-    HRESULT hr = E_FAIL;
+    HRESULT hr = S_FALSE;
 
     TRACE("(%p)->(%s,%p)\n", This, debugstr_w(name), value);
 
+    if(!value || !name)
+        return E_INVALIDARG;
+
     element = get_element( This );
     if ( !element )
         return E_FAIL;
 
-    VariantInit(value);
+    V_BSTR(value) = NULL;
+    V_VT(value) = VT_NULL;
+
     xml_name = xmlChar_from_wchar( name );
     xml_value = xmlGetNsProp(element, xml_name, NULL);
     HeapFree(GetProcessHeap(), 0, xml_name);