// $Id$
//
// Copyright (C) 2007
-// Fraunhofer Institute for Open Communication Systems (FOKUS)
-// Competence Center NETwork research (NET), St. Augustin, GERMANY
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Thorsten Horstmann <tho@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
template <class TypeParser, class LengthParser>
prefix_ void senf::TLVPacketType<TypeParser, LengthParser>::finalize(packet p)
{
- PacketData::size_type size = p.next().data().size();
- if ( size > LengthParser::max_value )
- throw(UnsuportedTLVPacketException());
- p->length() = size;
+ try {
+ PacketData::size_type size = p.next().data().size();
+ if ( size > LengthParser::max_value )
+ throw(UnsuportedTLVPacketException());
+ p->length() = size;
+ }
+ catch (InvalidPacketChainException & ex) {
+ ;
+ }
}
template <class TypeParser, class LengthParser>