mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-05 19:10:45 +00:00
BUG/MINOR: cli: Guard against NULL messages when using CLI_ST_PRINT_FREE
Some error paths (especially those followed when running out of memory) can set the error message to NULL. In order to avoid a crash, use a generic message ("Out of memory") when this case arises. It should be backported to 1.8. Signed-off-by: Aurlien Nephtali <aurelien.nephtali@corp.ovh.com>
This commit is contained in:
parent
054fbee67a
commit
c511b7cc97
10
src/cli.c
10
src/cli.c
@ -625,14 +625,20 @@ static void cli_io_handler(struct appctx *appctx)
|
||||
else
|
||||
si_applet_cant_put(si);
|
||||
break;
|
||||
case CLI_ST_PRINT_FREE:
|
||||
if (cli_output_msg(res, appctx->ctx.cli.err, LOG_ERR, cli_get_severity_output(appctx)) != -1) {
|
||||
case CLI_ST_PRINT_FREE: {
|
||||
const char *msg = appctx->ctx.cli.err;
|
||||
|
||||
if (!msg)
|
||||
msg = "Out of memory.\n";
|
||||
|
||||
if (cli_output_msg(res, msg, LOG_ERR, cli_get_severity_output(appctx)) != -1) {
|
||||
free(appctx->ctx.cli.err);
|
||||
appctx->st0 = CLI_ST_PROMPT;
|
||||
}
|
||||
else
|
||||
si_applet_cant_put(si);
|
||||
break;
|
||||
}
|
||||
case CLI_ST_CALLBACK: /* use custom pointer */
|
||||
if (appctx->io_handler)
|
||||
if (appctx->io_handler(appctx)) {
|
||||
|
Loading…
Reference in New Issue
Block a user