Index: /source/ariba/utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcast.h
===================================================================
--- /source/ariba/utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcast.h	(revision 5969)
+++ /source/ariba/utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcast.h	(revision 5973)
@@ -341,26 +341,26 @@
 
 		void handle_info(boost::array<char, 1500>& buffer, std::size_t length){
-			PeriodicBroadcastMessage msg;
-
-			Data data( (uint8_t*)buffer.data(), length*8 );
-			data_deserialize( msg, data );
-
-			{ // insert new found service
-				boost::mutex::scoped_lock( *servicesmutex );
-
-				ServiceList::iterator it = services->find( msg.getName() );
-				if( it != services->end() ){
-
-					/*
-					it->second.setInfo1( msg.getInfo1() );
-					it->second.setInfo2( msg.getInfo2() );
-					it->second.setInfo3( msg.getInfo3() );
-					*/
-					it->second.setLastseen( time(NULL) );
-
-				} else {
-					Service s( msg.getName(), msg.getInfo1(), msg.getInfo2(), msg.getInfo3(), time(NULL));
-					services->insert( std::make_pair(msg.getName(), s) );
+
+			try {
+
+				PeriodicBroadcastMessage msg;
+
+				Data data( (uint8_t*)buffer.data(), length*8 );
+				data_deserialize( msg, data );
+
+				{ // insert new found service
+					boost::mutex::scoped_lock( *servicesmutex );
+
+					ServiceList::iterator it = services->find( msg.getName() );
+					if( it != services->end() ){
+						it->second.setLastseen( time(NULL) );
+					} else {
+						Service s( msg.getName(), msg.getInfo1(), msg.getInfo2(), msg.getInfo3(), time(NULL));
+						services->insert( std::make_pair(msg.getName(), s) );
+					}
 				}
+
+			}catch(...){
+				/* ignore error */
 			}
 		}
