diff --git a/components/net/sf/briar/protocol/SubscriptionReader.java b/components/net/sf/briar/protocol/SubscriptionReader.java index 40aa96e6a82e265d4157895035e2dc0254ffe86b..d8bb47a03d6fe8e44438abdb0e3c5be3ad1b6987 100644 --- a/components/net/sf/briar/protocol/SubscriptionReader.java +++ b/components/net/sf/briar/protocol/SubscriptionReader.java @@ -3,6 +3,7 @@ package net.sf.briar.protocol; import java.io.IOException; import java.util.Map; +import net.sf.briar.api.FormatException; import net.sf.briar.api.protocol.Group; import net.sf.briar.api.protocol.ProtocolConstants; import net.sf.briar.api.protocol.SubscriptionUpdate; @@ -33,6 +34,7 @@ class SubscriptionReader implements ObjectReader<SubscriptionUpdate> { Map<Group, Long> subs = r.readMap(Group.class, Long.class); r.removeObjectReader(Types.GROUP); long timestamp = r.readInt64(); + if(timestamp < 0L) throw new FormatException(); r.removeConsumer(counting); // Build and return the subscription update return subscriptionFactory.createSubscriptions(subs, timestamp);