From 4009625e02c08e1adfb66557648a2cbf7fa34e49 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Philipp=20H=C3=B6rist?= <forenjunkie@chello.at>
Date: Thu, 14 Dec 2017 20:18:30 +0100
Subject: [PATCH] Catch invalid URIs

---
 gajim/gajim.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gajim/gajim.py b/gajim/gajim.py
index 7fc2e4a0e8..6f1bbaa3ea 100644
--- a/gajim/gajim.py
+++ b/gajim/gajim.py
@@ -235,17 +235,22 @@ class GajimApplication(Gtk.Application):
         gui_menu_builder.build_accounts_menu()
 
     def _open(self, application, file, hint, *args):
+        from gajim.common import app
         for arg in file:
             uri = arg.get_uri()
+            app.log('uri_handler').info('open %s', uri)
             # remove xmpp:///
             uri = uri[8:]
-            jid, cmd = uri.split('?')
+            try:
+                jid, cmd = uri.split('?')
+            except ValueError:
+                # Invalid URI
+                return
             if cmd == 'join':
                 self.interface.join_gc_minimal(None, jid)
             elif cmd == 'roster':
                 self.activate_action('add-contact', GLib.Variant('s', jid))
             elif cmd == 'message':
-                from gajim.common import app
                 accounts = list(app.connections.keys())
                 if not accounts:
                     continue
-- 
GitLab