The return value check was wrongly based on error codes when the
function actually returns an error number.
This bug was introduced by
f3eedfe19592ebcbaa5b97d8c68aa162e7f6f8fa
which is a feature not present before branch 2.4.
It does not need to be backported.
int y = 0;
char *err = NULL;
int errcode = 0;
+ int retval = 0;
struct ckch_store *old_ckchs, *new_ckchs = NULL;
struct ckch_inst *ckchi, *ckchis;
struct buffer *trash = alloc_trash_chunk();
new_inst->server = ckchi->server;
/* Create a new SSL_CTX and link it to the new instance. */
if (new_inst->is_server_instance) {
- errcode |= ssl_sock_prepare_srv_ssl_ctx(ckchi->server, new_inst->ctx);
- if (errcode & ERR_CODE)
+ retval = ssl_sock_prepare_srv_ssl_ctx(ckchi->server, new_inst->ctx);
+ if (retval)
goto error;
}