From ca677e28c0e25605997ff5f88ab4f7e00a8b5c93 Mon Sep 17 00:00:00 2001 From: lixungeng Date: Thu, 29 Feb 2024 10:44:32 +0800 Subject: [PATCH] fixed a bug which causes dispatcher crash with Python 3.10 and trying to jumpto some address the dispatcher processes crashed. When a new process connects to the dispatcher port but it does not intend to be a full functional client, the dispatcher server will assign a temporary `client` structure to it with name=None, however, the checks in server loop crashed as it tries to lowercase the None object. --- ext_ida/retsync/dispatcher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext_ida/retsync/dispatcher.py b/ext_ida/retsync/dispatcher.py index d91e11d..c8d9762 100644 --- a/ext_ida/retsync/dispatcher.py +++ b/ext_ida/retsync/dispatcher.py @@ -414,7 +414,7 @@ def req_idb_n(self, s, hash): def req_module(self, s, hash): modpath = hash['path'] self.current_module = modname = altpath.basename(modpath) - matching = [idbc for idbc in self.idb_clients if (idbc.name.lower() == modname.lower())] + matching = [idbc for idbc in self.idb_clients if (idbc.name is not None and idbc.name.lower() == modname.lower())] if not self.sync_mode_auto: self.broadcast('sync_mode_auto off')