- // Upload attachments here, so we only upload once even for multiple recipients
- var attachmentPointers = new ArrayList<SignalServiceAttachment>(attachmentStreams.size());
- for (var attachmentStream : attachmentStreams) {
- attachmentPointers.add(uploadAttachment(attachmentStream));
+ try {
+ // Upload attachments here, so we only upload once even for multiple recipients
+ final var attachmentPointers = new ArrayList<SignalServiceAttachment>(attachmentStreams.size());
+ for (final var attachmentStream : attachmentStreams) {
+ attachmentPointers.add(uploadAttachment(attachmentStream));
+ }
+ return attachmentPointers;
+ } finally {
+ for (final var attachmentStream : attachmentStreams) {
+ attachmentStream.close();
+ }