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());
}
}
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());
}
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;