From f5a1115db5307e7ddd7f62cb28d78cf5494b770c Mon Sep 17 00:00:00 2001
From: ilor <kailoran@gmail.com>
Date: Thu, 21 Apr 2011 14:42:39 +0200
Subject: [PATCH] fix crashes in markmatch / unmarkmatch caused by taking a
 reference to a shared pointer instead of just making a copy, and a typo

---
 libwccl/ops/match/actions/markmatch.h   | 6 +++---
 libwccl/ops/match/actions/unmarkmatch.h | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/libwccl/ops/match/actions/markmatch.h b/libwccl/ops/match/actions/markmatch.h
index 024af6d..9a2a8c0 100644
--- a/libwccl/ops/match/actions/markmatch.h
+++ b/libwccl/ops/match/actions/markmatch.h
@@ -76,9 +76,9 @@ protected:
 	 */
 	virtual std::ostream& write_to(std::ostream& ostream) const;
 private:
-	const boost::shared_ptr<Function<Match> >& match_from_;
-	const boost::shared_ptr<Function<Match> >& match_to_;
-	const boost::shared_ptr<Function<Match> >& head_match_;
+	const boost::shared_ptr<Function<Match> > match_from_;
+	const boost::shared_ptr<Function<Match> > match_to_;
+	const boost::shared_ptr<Function<Match> > head_match_;
 	const std::string chan_name_;
 };
 
diff --git a/libwccl/ops/match/actions/unmarkmatch.h b/libwccl/ops/match/actions/unmarkmatch.h
index b0cfd31..1f1071a 100644
--- a/libwccl/ops/match/actions/unmarkmatch.h
+++ b/libwccl/ops/match/actions/unmarkmatch.h
@@ -16,7 +16,7 @@ public:
 	UnmarkMatch(
 			const boost::shared_ptr<Function<Match> >& match,
 			const std::string& annotation_name)
-		: match_(match_),
+		: match_(match),
 		  chan_name_(annotation_name)
 	{
 		BOOST_ASSERT(match_);
@@ -49,7 +49,7 @@ protected:
 	 */
 	virtual std::ostream& write_to(std::ostream& ostream) const;
 private:
-	const boost::shared_ptr<Function<Match> >& match_;
+	const boost::shared_ptr<Function<Match> > match_;
 	const std::string chan_name_;
 };
 
-- 
GitLab