From dfdd0723951fef9166952021410b5664ddff3025 Mon Sep 17 00:00:00 2001 From: ThomasV Date: Mon, 15 Feb 2016 10:43:57 +0100 Subject: [PATCH] kivy: sanitize on_qr --- gui/kivy/main_window.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gui/kivy/main_window.py b/gui/kivy/main_window.py index 824866a0..c188d240 100644 --- a/gui/kivy/main_window.py +++ b/gui/kivy/main_window.py @@ -240,12 +240,20 @@ class ElectrumWindow(App): def on_qr(self, data): if data.startswith('bitcoin:'): self.set_URI(data) - else: - from electrum.bitcoin import base_decode - from electrum.transaction import Transaction + return + # try to decode transaction + from electrum.bitcoin import base_decode + from electrum.transaction import Transaction + try: text = base_decode(data, None, base=43).encode('hex') tx = Transaction(text) + except: + tx = None + if tx: self.tx_dialog(tx) + return + # show error + self.show_error("Unable to decode QR data") def update_tab(self, name): s = getattr(self, name + '_screen', None)