From 4c1190624124b182a8502aa011354a1b9676aa8a Mon Sep 17 00:00:00 2001 From: Spencer Oliver Date: Tue, 20 Dec 2011 16:15:52 +0000 Subject: [PATCH] helper: fix arm11 help text MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This fixes a long standing bug: see Trac #4 Increased help text recursion limit and added LOG_DEBUG so we can catch future errors like this. Change-Id: I5fac95c4486eaddaf1e88a27ecb1835168f87711 Signed-off-by: Spencer Oliver Signed-off-by: Øyvind Harboe Reviewed-on: http://openocd.zylin.com/291 Tested-by: jenkins Reviewed-by: Øyvind Harboe --- src/helper/command.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/helper/command.c b/src/helper/command.c index b00a231268..552031df06 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -97,7 +97,7 @@ static struct log_capture_state *command_log_capture_start(Jim_Interp *interp) * Therefore we set the tcl return value only if we actually * captured output. */ -static void command_log_capture_finish(struct log_capture_state *state) +static void command_log_capture_finish(struct log_capture_state *state) { if (NULL == state) return; @@ -927,8 +927,10 @@ static COMMAND_HELPER(command_help_show, struct command *c, unsigned n, return -ENOMEM; } - if (++n >= 2) - return ERROR_OK; + if (++n > 5) { + LOG_ERROR("command recursion exceeded"); + return ERROR_FAIL; + } return CALL_COMMAND_HANDLER(command_help_show_list, c->children, n, show_help, match); -- 2.30.2