From b54d8f8073b4fca1787012b211337dc707cfea45 Mon Sep 17 00:00:00 2001 From: James Lu Date: Thu, 17 Oct 2019 12:30:07 -0700 Subject: [PATCH] regexp_wrapper: return None instead of False when search times out (#1379) This allows plugins to detect whether a search timed out or did not match, which are two distinct outcomes. --- src/commands.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/commands.py b/src/commands.py index 81fa67529..2689776ce 100644 --- a/src/commands.py +++ b/src/commands.py @@ -149,7 +149,7 @@ def process(f, *args, **kwargs): def regexp_wrapper(s, reobj, timeout, plugin_name, fcn_name): '''A convenient wrapper to stuff regexp search queries through a subprocess. - + This is used because specially-crafted regexps can use exponential time and hang the bot.''' def re_bool(s, reobj): @@ -163,7 +163,7 @@ def regexp_wrapper(s, reobj, timeout, plugin_name, fcn_name): v = process(re_bool, s, reobj, timeout=timeout, pn=plugin_name, cn=fcn_name) return v except ProcessTimeoutError: - return False + return None class UrlSnarfThread(world.SupyThread): def __init__(self, *args, **kwargs):