From 8fc03a67b9ebc4fcdd66fdd48b4499e816670e67 Mon Sep 17 00:00:00 2001 From: Clark Date: Tue, 11 Jul 2023 17:48:14 -0400 Subject: [PATCH] Fix failing AttachmentCipherTest for incremental mac. --- .../signalservice/api/SignalServiceMessageReceiver.java | 5 +---- .../org/whispersystems/signalservice/internal/util/Util.java | 1 - .../signalservice/api/crypto/AttachmentCipherTest.java | 4 +--- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/SignalServiceMessageReceiver.java b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/SignalServiceMessageReceiver.java index bd09f16ec9..48b537ede7 100644 --- a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/SignalServiceMessageReceiver.java +++ b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/SignalServiceMessageReceiver.java @@ -179,11 +179,8 @@ public class SignalServiceMessageReceiver { byte[] manifestBytes = socket.retrieveStickerManifest(packId); InputStream cipherStream = AttachmentCipherInputStream.createForStickerData(manifestBytes, packKey); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - Util.copy(cipherStream, outputStream); - - StickerProtos.Pack pack = StickerProtos.Pack.parseFrom(outputStream.toByteArray()); + StickerProtos.Pack pack = StickerProtos.Pack.parseFrom(Util.readFullyAsBytes(cipherStream)); List stickers = new ArrayList<>(pack.getStickersCount()); SignalServiceStickerManifest.StickerInfo cover = pack.hasCover() ? new SignalServiceStickerManifest.StickerInfo(pack.getCover().getId(), pack.getCover().getEmoji(), pack.getCover().getContentType()) : null; diff --git a/libsignal/service/src/main/java/org/whispersystems/signalservice/internal/util/Util.java b/libsignal/service/src/main/java/org/whispersystems/signalservice/internal/util/Util.java index 9a1a4af777..513d4ae905 100644 --- a/libsignal/service/src/main/java/org/whispersystems/signalservice/internal/util/Util.java +++ b/libsignal/service/src/main/java/org/whispersystems/signalservice/internal/util/Util.java @@ -120,7 +120,6 @@ public class Util { } in.close(); - out.close(); } public static void sleep(long millis) { diff --git a/libsignal/service/src/test/java/org/whispersystems/signalservice/api/crypto/AttachmentCipherTest.java b/libsignal/service/src/test/java/org/whispersystems/signalservice/api/crypto/AttachmentCipherTest.java index 004a1ce18d..b52d753662 100644 --- a/libsignal/service/src/test/java/org/whispersystems/signalservice/api/crypto/AttachmentCipherTest.java +++ b/libsignal/service/src/test/java/org/whispersystems/signalservice/api/crypto/AttachmentCipherTest.java @@ -333,9 +333,7 @@ public final class AttachmentCipherTest { } private static byte[] readInputStreamFully(InputStream inputStream) throws IOException { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - Util.copy(inputStream, outputStream); - return outputStream.toByteArray(); + return Util.readFullyAsBytes(inputStream); } private static byte[] expandPackKey(byte[] shortKey) {