BUG/MINOR: checks: return correct error code for srv_parse_agent_check
authorDirkjan Bussink <d.bussink@gmail.com>
Fri, 18 Jun 2021 19:57:49 +0000 (19:57 +0000)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 30 Jun 2021 16:27:25 +0000 (18:27 +0200)
In srv_parse_agent_check the error code is not returned in case
something goes wrong. The value 0 is always return.

Additionally, there's a small cleanup of unreachable returns that in
most checks are not present either and removed in two places they were
present. This makes the code consistent across the different checks.

(cherry picked from commit dfee217b68a241f2723c2a4b67d2af187f0b6690)
[cf: Must be backported as far as 2.2]
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 1065e7edb7bd1b536bd3de6531463d16000d4956)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>

src/check.c

index 7214dbb..57c9958 100644 (file)
@@ -2842,7 +2842,7 @@ static int srv_parse_agent_check(char **args, int *cur_arg, struct proxy *curpx,
        srv->do_agent = 1;
 
   out:
-       return 0;
+       return err_code;
 
   error:
        deinit_srv_agent_check(srv);
@@ -3086,7 +3086,6 @@ static int srv_parse_check_rise(char **args, int *cur_arg, struct proxy *curpx,
        deinit_srv_agent_check(srv);
        err_code |= ERR_ALERT | ERR_FATAL;
        goto out;
-       return 0;
 }
 
 /* Parse the "fall" server keyword */
@@ -3113,7 +3112,6 @@ static int srv_parse_check_fall(char **args, int *cur_arg, struct proxy *curpx,
        deinit_srv_agent_check(srv);
        err_code |= ERR_ALERT | ERR_FATAL;
        goto out;
-       return 0;
 }
 
 /* Parse the "inter" server keyword */