From 3e8190637c96b805bf26820bfe1808885c9f84c8 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Thu, 23 Jul 2026 01:39:15 +0000 Subject: [PATCH] Improve attachment field validation. --- .../api/util/AttachmentPointerUtil.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/util/AttachmentPointerUtil.java b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/util/AttachmentPointerUtil.java index 15fa0a0eac..0acc457134 100644 --- a/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/util/AttachmentPointerUtil.java +++ b/lib/libsignal-service/src/main/java/org/whispersystems/signalservice/api/util/AttachmentPointerUtil.java @@ -7,7 +7,6 @@ import org.whispersystems.signalservice.api.messages.SignalServiceAttachmentRemo import org.whispersystems.signalservice.internal.push.AttachmentPointer; import java.io.IOException; -import java.util.Objects; import java.util.Optional; import okio.ByteString; @@ -18,10 +17,18 @@ public final class AttachmentPointerUtil { } public static SignalServiceAttachmentPointer createSignalAttachmentPointer(AttachmentPointer pointer) throws InvalidMessageStructureException { - return new SignalServiceAttachmentPointer(Objects.requireNonNull(pointer.cdnNumber), + if (pointer.cdnNumber == null) { + throw new InvalidMessageStructureException("AttachmentPointer CDN number not set"); + } + + if (pointer.key == null) { + throw new InvalidMessageStructureException("AttachmentPointer key not set"); + } + + return new SignalServiceAttachmentPointer(pointer.cdnNumber, SignalServiceAttachmentRemoteId.from(pointer), pointer.contentType, - Objects.requireNonNull(pointer.key).toByteArray(), + pointer.key.toByteArray(), pointer.size != null ? Optional.of(pointer.size) : Optional.empty(), pointer.thumbnail != null ? Optional.of(pointer.thumbnail.toByteArray()): Optional.empty(), pointer.width != null ? pointer.width : 0,