msxml3: Validated attribute name.
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index ba01247..6ee8881 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -458,7 +458,7 @@
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
     xmlNodePtr element;
-    xmlChar *xml_name, *xml_value;
+    xmlChar *xml_name, *xml_value = NULL;
     HRESULT hr = S_FALSE;
 
     TRACE("(%p)->(%s,%p)\n", This, debugstr_w(name), value);
@@ -474,7 +474,12 @@
     V_VT(value) = VT_NULL;
 
     xml_name = xmlChar_from_wchar( name );
-    xml_value = xmlGetNsProp(element, xml_name, NULL);
+
+    if(!xmlValidateNameValue(xml_name))
+        hr = E_FAIL;
+    else
+        xml_value = xmlGetNsProp(element, xml_name, NULL);
+
     HeapFree(GetProcessHeap(), 0, xml_name);
     if(xml_value)
     {