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: Aurélien Nephtali <aurelien.nephtali@corp.ovh.com>
diff --git a/src/cli.c b/src/cli.c
index 018d508..965709e 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -625,14 +625,20 @@
 				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)) {