From a2dfcd0288962fec3ea8ba2504d368961118e523 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Thu, 29 Nov 2018 15:00:37 -0500 Subject: [PATCH] Respond to CR. --- SignalServiceKit/src/Messages/OWSMessageSender.m | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/SignalServiceKit/src/Messages/OWSMessageSender.m b/SignalServiceKit/src/Messages/OWSMessageSender.m index d0c0e37e3..53c359a67 100644 --- a/SignalServiceKit/src/Messages/OWSMessageSender.m +++ b/SignalServiceKit/src/Messages/OWSMessageSender.m @@ -1056,12 +1056,20 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; for (NSDictionary *deviceMessage in deviceMessages) { NSNumber *_Nullable messageType = deviceMessage[@"type"]; OWSAssertDebug(messageType); + BOOL hasValidMessageType; if (messageSend.isUDSend) { - OWSAssertDebug([messageType isEqualToNumber:@(TSUnidentifiedSenderMessageType)]); + hasValidMessageType = [messageType isEqualToNumber:@(TSUnidentifiedSenderMessageType)]; } else { - OWSAssertDebug([messageType isEqualToNumber:@(TSEncryptedWhisperMessageType)] || + hasValidMessageType = ([messageType isEqualToNumber:@(TSEncryptedWhisperMessageType)] || [messageType isEqualToNumber:@(TSPreKeyWhisperMessageType)]); } + + if (!hasValidMessageType) { + OWSFailDebug(@"Invalid message type: %@", messageType); + NSError *error = OWSErrorMakeFailedToSendOutgoingMessageError(); + [error setIsRetryable:NO]; + return messageSend.failure(error); + } } if (deviceMessages.count == 0) {