From fde354957c274a2fe623f9af9f1066ff7d12b231 Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Fri, 16 Sep 2011 13:20:49 +0100
Subject: [PATCH] Timestamps may not be negative.

---
 components/net/sf/briar/protocol/SubscriptionReader.java | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/components/net/sf/briar/protocol/SubscriptionReader.java b/components/net/sf/briar/protocol/SubscriptionReader.java
index 40aa96e6a8..d8bb47a03d 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);
-- 
GitLab