From: Willy Tarreau Date: Sun, 5 Nov 2017 08:58:50 +0000 (+0100) Subject: BUG/MINOR: cli: do not perform an invalid action on "set server check-port" X-Git-Tag: v1.8-rc3~70 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1c8980f9b54ceb2a35b0ecb9be71df6795773542;p=thirdparty%2Fhaproxy.git BUG/MINOR: cli: do not perform an invalid action on "set server check-port" The "set server check-port" CLI handler forgot to return after detecting an error on the port number, and still proceeds with the action. This needs to be backported to 1.7. --- diff --git a/src/server.c b/src/server.c index c96b096e2b..3265680417 100644 --- a/src/server.c +++ b/src/server.c @@ -4155,11 +4155,15 @@ static int cli_parse_set_server(char **args, struct appctx *appctx, void *privat appctx->ctx.cli.severity = LOG_ERR; appctx->ctx.cli.msg = "'set server check-port' expects an integer as argument.\n"; appctx->st0 = CLI_ST_PRINT; + SPIN_UNLOCK(SERVER_LOCK, &sv->lock); + return 1; } if ((i < 0) || (i > 65535)) { appctx->ctx.cli.severity = LOG_ERR; appctx->ctx.cli.msg = "provided port is not valid.\n"; appctx->st0 = CLI_ST_PRINT; + SPIN_UNLOCK(SERVER_LOCK, &sv->lock); + return 1; } /* prevent the update of port to 0 if MAPPORTS are in use */ if ((sv->flags & SRV_F_MAPPORTS) && (i == 0)) {