From 215eef4ad85fb6124af70d1e5c9729b69554a32b Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Mon, 24 Jun 2024 14:27:07 +0200 Subject: syz-manager: support stdin as port forwarding result It is returned from vm/gvisor. --- executor/executor_runner.h | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'executor') diff --git a/executor/executor_runner.h b/executor/executor_runner.h index 55a6c422c..385b111c8 100644 --- a/executor/executor_runner.h +++ b/executor/executor_runner.h @@ -765,11 +765,23 @@ static void SigsegvHandler(int sig, siginfo_t* info, void* ucontext) static void runner(char** argv, int argc) { - if (argc != 5) - fail("usage: syz-executor runner "); + const char* const usage_msg = "usage: syz-executor runner " + " OR syz-executor runner stdin"; + if (argc < 4 || argc > 5) + fail(usage_msg); + const char* const name = argv[2]; const char* const manager_addr = argv[3]; - const char* const manager_port = argv[4]; + const char* manager_port = NULL; + + if (strcmp(manager_addr, "stdin") == 0) { + // Do not expect a port number for stdin. + if (argc == 5) + fail(usage_msg); + } else if (argc != 5) + fail(usage_msg); + else + manager_port = argv[4]; struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = kFdLimit; -- cgit mrf-deployment