Fix double free issue when attributes are resolved.
authorScott Cantor <cantor.2@osu.edu>
Wed, 4 Sep 2013 18:40:02 +0000 (18:40 +0000)
committerScott Cantor <cantor.2@osu.edu>
Wed, 4 Sep 2013 18:40:02 +0000 (18:40 +0000)
src/shibresolver/resolver.cpp

index dd7bbbf..5648c43 100644 (file)
@@ -517,8 +517,10 @@ void RemotedResolver::resolve(
                     )
                 );
             resolver->resolveAttributes(*ctx.get());
-            if (!ctx->getResolvedAttributes().empty())
+            if (!ctx->getResolvedAttributes().empty()) {
                 resolvedAttrs.insert(resolvedAttrs.end(), ctx->getResolvedAttributes().begin(), ctx->getResolvedAttributes().end());
+                ctx->getResolvedAttributes().clear();
+            }
         }
     }
     catch (exception& ex) {