diff --git a/components/net/sf/briar/transport/TagEncoder.java b/components/net/sf/briar/transport/TagEncoder.java
index dca0c60de..008ff2b35 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 f905a6999..311bada18 100644
--- a/test/build.xml
+++ b/test/build.xml
@@ -22,7 +22,6 @@
-
@@ -78,6 +77,7 @@
+
diff --git a/test/net/sf/briar/transport/FrameReadWriteTest.java b/test/net/sf/briar/transport/FrameReadWriteTest.java
index 62e275873..97af64c4b 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);