From c0eb71748c0d31ad17f9b468dea0616f4d367adc Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Fri, 10 Feb 2012 16:44:18 +0000
Subject: [PATCH] Removed an unnecessary allocation.

---
 components/net/sf/briar/transport/TagEncoder.java   | 9 +++------
 test/build.xml                                      | 2 +-
 test/net/sf/briar/transport/FrameReadWriteTest.java | 2 +-
 3 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/components/net/sf/briar/transport/TagEncoder.java b/components/net/sf/briar/transport/TagEncoder.java
index dca0c60deb..008ff2b35b 100644
--- a/components/net/sf/briar/transport/TagEncoder.java
+++ b/components/net/sf/briar/transport/TagEncoder.java
@@ -28,13 +28,10 @@ class TagEncoder {
 		if(tag.length < TAG_LENGTH) throw new IllegalArgumentException();
 		try {
 			tagCipher.init(Cipher.DECRYPT_MODE, tagKey);
-			byte[] plaintext = tagCipher.doFinal(tag, 0, TAG_LENGTH);
-			if(plaintext.length != TAG_LENGTH)
-				throw new IllegalArgumentException();
+			int decrypted = tagCipher.doFinal(tag, 0, TAG_LENGTH, tag);
+			if(decrypted != TAG_LENGTH) throw new IllegalArgumentException();
 			//The plaintext should be blank
-			for(int i = 0; i < TAG_LENGTH; i++) {
-				if(plaintext[i] != 0) return false;
-			}
+			for(int i = 0; i < TAG_LENGTH; i++) if(tag[i] != 0) return false;
 			return true;
 		} catch(GeneralSecurityException e) {
 			// Unsuitable cipher or key
diff --git a/test/build.xml b/test/build.xml
index f905a6999f..311bada18b 100644
--- a/test/build.xml
+++ b/test/build.xml
@@ -22,7 +22,6 @@
 			<test name='net.sf.briar.db.BasicH2Test'/>
 			<test name='net.sf.briar.db.DatabaseCleanerImplTest'/>
 			<test name='net.sf.briar.db.DatabaseComponentImplTest'/>
-			<test name='net.sf.briar.i18n.FontManagerTest'/>
 			<test name='net.sf.briar.i18n.I18nTest'/>
 			<test name='net.sf.briar.invitation.InvitationWorkerTest'/>
 			<test name='net.sf.briar.lifecycle.ShutdownManagerImplTest'/>
@@ -78,6 +77,7 @@
 			</classpath>
 			<jvmarg value='-Djava.library.path=../lib'/>
 			<test name='net.sf.briar.db.H2DatabaseTest'/>
+			<test name='net.sf.briar.i18n.FontManagerTest'/>
 			<test name='net.sf.briar.plugins.tor.TorPluginTest'/>
 		</junit>
 	</target>
diff --git a/test/net/sf/briar/transport/FrameReadWriteTest.java b/test/net/sf/briar/transport/FrameReadWriteTest.java
index 62e275873f..97af64c4b3 100644
--- a/test/net/sf/briar/transport/FrameReadWriteTest.java
+++ b/test/net/sf/briar/transport/FrameReadWriteTest.java
@@ -89,7 +89,7 @@ public class FrameReadWriteTest extends BriarTestCase {
 		byte[] recoveredTag = new byte[TAG_LENGTH];
 		assertEquals(TAG_LENGTH, in.read(recoveredTag));
 		assertArrayEquals(tag, recoveredTag);
-		assertTrue(TagEncoder.decodeTag(tag, tagCipher, tagKey));
+		assertTrue(TagEncoder.decodeTag(recoveredTag, tagCipher, tagKey));
 		// Read the frames back
 		FrameReader encryptionIn = new IncomingEncryptionLayerImpl(in,
 				tagCipher, frameCipher, tagKey, frameKey, false);
-- 
GitLab