BUG/MINOR: proto_ux: report correct error when bind_listener fails

In uxst_bind_listener() and uxdg_bind_listener(), when the function
fails because the listener is not bound, both function are setting
the error message but don't set the err status before returning.

Because of this, such error is not properly handled by the upper functions.

Making sure this error is properly catched by returning a composition of
ERR_FATAL and ERR_ALERT.

This could be backported up to 2.4.
This commit is contained in:
Aurelien DARRAGON 2023-02-06 18:50:51 +01:00 committed by Christopher Faulet
parent 2bf99123ef
commit d861dc9b48
2 changed files with 2 additions and 0 deletions

View File

@ -95,6 +95,7 @@ int uxdg_bind_listener(struct listener *listener, char *errmsg, int errlen)
if (!(listener->rx.flags & RX_F_BOUND)) {
msg = "receiving socket not bound";
err |= ERR_FATAL | ERR_ALERT;
goto uxdg_return;
}

View File

@ -119,6 +119,7 @@ static int uxst_bind_listener(struct listener *listener, char *errmsg, int errle
if (!(listener->rx.flags & RX_F_BOUND)) {
msg = "receiving socket not bound";
err |= ERR_FATAL | ERR_ALERT;
goto uxst_return;
}