diff --git a/ts/textsecure/MessageReceiver.preload.ts b/ts/textsecure/MessageReceiver.preload.ts index 0fe86375d7..6126a96e51 100644 --- a/ts/textsecure/MessageReceiver.preload.ts +++ b/ts/textsecure/MessageReceiver.preload.ts @@ -2095,6 +2095,7 @@ export default class MessageReceiver const length = Buffer.byteLength(message.body); this.#removeFromCache(envelope); log.warn(`${logId}: Dropping too-long message. Length: ${length}`); + return; } strictAssert(timestamp, 'Missing sent timestamp'); @@ -2381,6 +2382,13 @@ export default class MessageReceiver 'MessageReceiver.handleEditMesage: received message from PNI' ); + if (message.body && isBodyTooLong(message.body)) { + const length = Buffer.byteLength(message.body); + this.#removeFromCache(envelope); + log.warn(`${logId}: Dropping too-long message. Length: ${length}`); + return; + } + const ev = new MessageEvent( { envelopeId: envelope.id, @@ -2496,6 +2504,7 @@ export default class MessageReceiver const length = Buffer.byteLength(message.body); this.#removeFromCache(envelope); log.warn(`${logId}: Dropping too-long message. Length: ${length}`); + return; } const ev = new MessageEvent( @@ -3160,6 +3169,13 @@ export default class MessageReceiver const message = this.#processDecrypted(envelope, editMessage.dataMessage); + if (message.body && isBodyTooLong(message.body)) { + const length = Buffer.byteLength(message.body); + this.#removeFromCache(envelope); + log.warn(`${logId}: Dropping too-long message. Length: ${length}`); + return; + } + const ev = new SentEvent( { envelopeId: envelope.id,