Index: source/ariba/overlay/modules/chord/messages/Discovery.cpp
===================================================================
--- source/ariba/overlay/modules/chord/messages/Discovery.cpp	(revision 5680)
+++ source/ariba/overlay/modules/chord/messages/Discovery.cpp	(revision 5681)
@@ -48,5 +48,4 @@
 
 Discovery::~Discovery(){
-	if (source_endpoint!=NULL) delete source_endpoint;
 }
 
Index: source/ariba/overlay/modules/chord/messages/Discovery.h
===================================================================
--- source/ariba/overlay/modules/chord/messages/Discovery.h	(revision 5680)
+++ source/ariba/overlay/modules/chord/messages/Discovery.h	(revision 5681)
@@ -70,15 +70,15 @@
 		this->follow_type = msg.follow_type;
 		this->ttl = msg.ttl;
-		this->source_endpoint = new EndpointDescriptor( *msg.source_endpoint );
+		this->source_endpoint = msg.source_endpoint;
 	}
 	explicit Discovery();
 	virtual ~Discovery();
 
-	EndpointDescriptor* getSourceEndpoint() const {
-		return source_endpoint;
+	const EndpointDescriptor* getSourceEndpoint() const {
+		return &source_endpoint;
 	}
 
 	void setSourceEndpoint( const EndpointDescriptor* endpoint ) {
-		source_endpoint = new EndpointDescriptor(*endpoint);
+		source_endpoint = *endpoint;
 	}
 
@@ -102,5 +102,5 @@
 	uint8_t follow_type;
 	uint8_t ttl;
-	EndpointDescriptor* source_endpoint;
+	EndpointDescriptor source_endpoint;
 };
 
@@ -112,5 +112,5 @@
 
 	// serialize end-point
-	X && VO(source_endpoint);
+	X && source_endpoint;
 } sznEnd();
 
