Add implicit support for a "null" protocol.
[shibboleth/cpp-opensaml.git] / saml / saml2 / metadata / impl / MetadataImpl.cpp
index 51facf4..91615d9 100644 (file)
@@ -965,6 +965,8 @@ namespace opensaml {
             IMPL_TYPED_CHILDREN(ContactPerson,m_pos_ContactPerson);
 
             bool hasSupport(const XMLCh* protocol) const {
+                if (!protocol || !*protocol)
+                    return true;
                 if (m_ProtocolSupportEnumeration) {
                     // Look for first character.
                     unsigned int len=XMLString::stringLen(protocol);
@@ -1006,10 +1008,11 @@ namespace opensaml {
                     setProtocolSupportEnumeration(pse.c_str());
 #else
                     auto_ptr_char temp(m_ProtocolSupportEnumeration);
+                    auto_ptr_char temp2(protocol);
                     string pse(temp.get());
-                    pse = pse + ' ' + protocol;
-                    auto_ptr_XMLCh temp2(pse.c_str());
-                    setProtocolSupportEnumeration(temp2.get());
+                    pse = pse + ' ' + temp2.get();
+                    auto_ptr_XMLCh temp3(pse.c_str());
+                    setProtocolSupportEnumeration(temp3.get());
 #endif
                 }
                 else {