BUG/MINOR: cli: do not perform an invalid action on "set server check-port"
The "set server <srv> 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 c96b096..3265680 100644
--- a/src/server.c
+++ b/src/server.c
@@ -4155,11 +4155,15 @@
appctx->ctx.cli.severity = LOG_ERR;
appctx->ctx.cli.msg = "'set server <srv> 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)) {