From bb00907eddff2a7bc0f804875be4b255dc9d1055 Mon Sep 17 00:00:00 2001 From: Christiaan Herrewijn Date: Fri, 29 May 2026 13:27:03 +0200 Subject: [PATCH] catch timeouts --- scripts/run_fuzzer.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/run_fuzzer.py b/scripts/run_fuzzer.py index acd5dff..6578255 100644 --- a/scripts/run_fuzzer.py +++ b/scripts/run_fuzzer.py @@ -95,9 +95,12 @@ def get_fuzzer_name_printable(fuzzer): return 'Unknown' -def run_shell_command(cmd): +def run_shell_command(cmd, timeout=300): command = [shell, '--batch', '-init', '/dev/null'] - res = subprocess.run(command, input=bytearray(cmd, 'utf8'), stdout=subprocess.PIPE, stderr=subprocess.PIPE) + try: + res = subprocess.run(command, input=bytearray(cmd, 'utf8'), stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=timeout) + except subprocess.TimeoutExpired: + return ("", f"query timed out after {timeout} seconds", -1) stdout = res.stdout.decode('utf8', 'ignore').strip() stderr = res.stderr.decode('utf8', 'ignore').strip() return (stdout, stderr, res.returncode)