From 88dc7bcf92b4b1ac96c1186c3bc70fec53b207e1 Mon Sep 17 00:00:00 2001 From: AJR Date: Sun, 22 May 2022 20:46:04 -0400 Subject: debugger: Impose an arbitrary upper limit on the count parameter of the gni command to prevent denial of service --- src/emu/debug/debugcmd.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/emu/debug/debugcmd.cpp') diff --git a/src/emu/debug/debugcmd.cpp b/src/emu/debug/debugcmd.cpp index ff29281ab64..781ce93e9a5 100644 --- a/src/emu/debug/debugcmd.cpp +++ b/src/emu/debug/debugcmd.cpp @@ -1382,12 +1382,18 @@ void debugger_commands::execute_go_branch(bool sense, const std::vector ¶ms) { u64 count = 1; + static constexpr u64 MAX_COUNT = 512; // if we have a parameter, use it instead */ if (params.size() > 0 && !validate_number_parameter(params[0], count)) return; if (count == 0) return; + if (count > MAX_COUNT) + { + m_console.printf("Too many instructions (must be %d or fewer)\n", MAX_COUNT); + return; + } device_state_interface *stateintf; device_t *cpu = m_machine.debugger().console().get_visible_cpu(); -- cgit v1.2.3