SSPCPP-616 - clean up concatenated string literals
[shibboleth/cpp-opensaml.git] / saml / saml2 / metadata / impl / AbstractMetadataProvider.cpp
index 229d881..f2cca92 100644 (file)
@@ -259,7 +259,7 @@ const EntitiesDescriptor* AbstractMetadataProvider::getEntitiesDescriptor(const
             return i->second;
     
     if (range.first != range.second) {
-        Category& log = Category::getInstance(SAML_LOGCAT".MetadataProvider");
+        Category& log = Category::getInstance(SAML_LOGCAT ".MetadataProvider");
         if (strict) {
             log.warn("ignored expired metadata group (%s)", range.first->first.c_str());
         }
@@ -299,7 +299,7 @@ pair<const EntityDescriptor*,const RoleDescriptor*> AbstractMetadataProvider::ge
     }
     
     if (!result.first && range.first!=range.second) {
-        Category& log = Category::getInstance(SAML_LOGCAT".MetadataProvider");
+        Category& log = Category::getInstance(SAML_LOGCAT ".MetadataProvider");
         if (criteria.validOnly) {
             log.warn("ignored expired metadata instance for (%s)", range.first->first.c_str());
         }
@@ -363,9 +363,12 @@ const AbstractMetadataProvider::credmap_t::mapped_type& AbstractMetadataProvider
             k != make_indirect_iterator(keys.end()); ++k) {
         if (k->getKeyInfo()) {
             auto_ptr<MetadataCredentialContext> mcc(new MetadataCredentialContext(*k));
-            Credential* c = resolver->resolve(mcc.get());
-            mcc.release();
-            resolved.push_back(c);
+            auto_ptr<Credential> c(resolver->resolve(mcc.get()));
+            if (c.get()) {
+                mcc.release();  // this API sucks, the object is now owned by the Credential
+                resolved.push_back(c.get());
+                c.release();
+            }
         }
     }
     return resolved;