[PATCH v2 1/2] cli: panic when failed to allocate memory for the history buffer

Hanyuan Zhao hanyuan-z at qq.com
Sun Mar 3 15:34:45 CET 2024


This commit simply modifies the history initialize function,
replacing the return value by panic with reasons. The calling
chains of hist_init don't have steps explicitly throwing or
dealing with the ENOMEM error, and once the init fails, the
whole system is died. Using panic here to provide error
information instead.

Signed-off-by: Hanyuan Zhao <hanyuan-z at qq.com>
---
This is v2 of patch series cli: allow users to disable history if unused at all
---
Changes v1 -> v2:
  - Remove the lines surrounded by macro CONFIG_CMD_HISTORY, since if the
user says N to CMD_HISTORY, the whole C file won't be compiled, i.e. the
history is disabled already.
  - Remove default y to CMD_HISTORY. Here we should follow the original one.
---
 common/cli_readline.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/cli_readline.c b/common/cli_readline.c
index 2507be2295..99e7efdfe5 100644
--- a/common/cli_readline.c
+++ b/common/cli_readline.c
@@ -110,7 +110,7 @@ static int hist_init(void)
 
 	hist = calloc(HIST_MAX, HIST_SIZE + 1);
 	if (!hist)
-		return -ENOMEM;
+		panic("%s: calloc: out of memory!\n", __func__);
 
 	for (i = 0; i < HIST_MAX; i++)
 		hist_list[i] = hist + (i * (HIST_SIZE + 1));
-- 
2.34.1



More information about the U-Boot mailing list