Check for empty parameters during construction.
authorcantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Fri, 5 Mar 2010 03:49:03 +0000 (03:49 +0000)
committercantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Fri, 5 Mar 2010 03:49:03 +0000 (03:49 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-sp/branches/REL_2@3238 cb58f699-b61c-0410-a6fe-9272a202ed29

shibsp/handler/impl/TransformSessionInitiator.cpp

index ac53b42..590dbad 100644 (file)
@@ -98,12 +98,14 @@ namespace shibsp {
                             flag = &chNull;
                         if (XMLString::equals(e->getLocalName(), Subst)) {
                             auto_ptr_char temp(e->getFirstChild()->getNodeValue());
-                            m_subst.push_back(pair<bool,string>((*flag==chDigit_1 || *flag==chLatin_t), temp.get()));
+                            if (temp.get() && *temp.get())
+                                m_subst.push_back(pair<bool,string>((*flag==chDigit_1 || *flag==chLatin_t), temp.get()));
                         }
                         else if (XMLString::equals(e->getLocalName(), Regex) && e->hasAttributeNS(NULL, match)) {
                             auto_ptr_char m(e->getAttributeNS(NULL, match));
                             auto_ptr_char repl(e->getFirstChild()->getNodeValue());
-                            m_regex.push_back(make_pair((*flag==chDigit_1 || *flag==chLatin_t), pair<string,string>(m.get(), repl.get())));
+                            if (m.get() && *m.get() && repl.get() && *repl.get())
+                                m_regex.push_back(make_pair((*flag==chDigit_1 || *flag==chLatin_t), pair<string,string>(m.get(), repl.get())));
                         }
                         else {
                             m_log.warn("Unknown element found in Transform SessionInitiator configuration, check for errors.");