From 6d2dfc975980802dacff5c583586818ce6573596 Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Wed, 21 Feb 2024 11:22:00 +0100 Subject: [PATCH] android: limit size of text pasted from clipboard, to avoid TransactionTooLargeException https://developer.android.com/reference/android/os/TransactionTooLargeException.html --- .../java_classes/org/electrum/qr/SimpleScannerActivity.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/electrum/gui/qml/java_classes/org/electrum/qr/SimpleScannerActivity.java b/electrum/gui/qml/java_classes/org/electrum/qr/SimpleScannerActivity.java index 65827c6e5..e04f37899 100644 --- a/electrum/gui/qml/java_classes/org/electrum/qr/SimpleScannerActivity.java +++ b/electrum/gui/qml/java_classes/org/electrum/qr/SimpleScannerActivity.java @@ -57,6 +57,10 @@ public class SimpleScannerActivity extends Activity implements ZXingScannerView. || clipboard.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_HTML))) { ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0); String clipboardText = item.getText().toString(); + // limit size of content. avoid https://developer.android.com/reference/android/os/TransactionTooLargeException.html + if (clipboardText.length() > 512 * 1024 * 1024) { + Toast.makeText(SimpleScannerActivity.this, "Clipboard contents too large.", Toast.LENGTH_SHORT).show(); + } SimpleScannerActivity.this.setResultAndClose(clipboardText); } else { Toast.makeText(SimpleScannerActivity.this, "Clipboard is empty.", Toast.LENGTH_SHORT).show();