MINOR: cfgparse/proxy: Group alloc error handling during proxy section parsing
All allocation errors in cfg_parse_listen() are now handled in a unique place under the "alloc_error" label. This simplify a bit error handling in this function.
This commit is contained in:
parent
b45a7d4b74
commit
b15625a43b
@ -387,11 +387,9 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
}
|
||||
|
||||
bind_conf = bind_conf_alloc(curproxy, file, linenum, args[1], xprt_get(XPRT_RAW));
|
||||
if (!bind_conf) {
|
||||
ha_alert("Out of memory error.\n");
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!bind_conf)
|
||||
goto alloc_error;
|
||||
|
||||
/* use default settings for unix sockets */
|
||||
bind_conf->settings.ux.uid = global.unix_bind.ux.uid;
|
||||
bind_conf->settings.ux.gid = global.unix_bind.ux.gid;
|
||||
@ -496,11 +494,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
free(curproxy->monitor_uri);
|
||||
curproxy->monitor_uri_len = strlen(args[1]);
|
||||
curproxy->monitor_uri = calloc(1, curproxy->monitor_uri_len + 1);
|
||||
if (!curproxy->monitor_uri) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->monitor_uri)
|
||||
goto alloc_error;
|
||||
memcpy(curproxy->monitor_uri, args[1], curproxy->monitor_uri_len);
|
||||
curproxy->monitor_uri[curproxy->monitor_uri_len] = '\0';
|
||||
|
||||
@ -586,11 +581,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
len += strlen(args[i]) + 1;
|
||||
|
||||
d = calloc(1, len);
|
||||
if (!d) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!d)
|
||||
goto alloc_error;
|
||||
curproxy->desc = d;
|
||||
|
||||
d += snprintf(d, curproxy->desc + len - d, "%s", args[1]);
|
||||
@ -688,11 +680,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
ha_free(&curproxy->cookie_domain);
|
||||
free(curproxy->cookie_name);
|
||||
curproxy->cookie_name = strdup(args[1]);
|
||||
if (!curproxy->cookie_name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->cookie_name)
|
||||
goto alloc_error;
|
||||
curproxy->cookie_len = strlen(curproxy->cookie_name);
|
||||
|
||||
cur_arg = 2;
|
||||
@ -758,12 +747,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
memprintf(&curproxy->cookie_domain, "%s; domain=%s", curproxy->cookie_domain, args[cur_arg+1]);
|
||||
}
|
||||
|
||||
if (!curproxy->cookie_domain) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!curproxy->cookie_domain)
|
||||
goto alloc_error;
|
||||
cur_arg++;
|
||||
}
|
||||
else if (strcmp(args[cur_arg], "maxidle") == 0) {
|
||||
@ -863,11 +848,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
else
|
||||
memprintf(&curproxy->cookie_attrs, "%s; %s", curproxy->cookie_attrs, args[cur_arg + 1]);
|
||||
|
||||
if (!curproxy->cookie_attrs) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->cookie_attrs)
|
||||
goto alloc_error;
|
||||
cur_arg++;
|
||||
}
|
||||
|
||||
@ -914,11 +896,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
}
|
||||
free(curproxy->email_alert.from);
|
||||
curproxy->email_alert.from = strdup(args[2]);
|
||||
if (!curproxy->email_alert.from) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->email_alert.from)
|
||||
goto alloc_error;
|
||||
}
|
||||
else if (strcmp(args[1], "mailers") == 0) {
|
||||
if (*(args[1]) == 0) {
|
||||
@ -929,11 +908,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
}
|
||||
free(curproxy->email_alert.mailers.name);
|
||||
curproxy->email_alert.mailers.name = strdup(args[2]);
|
||||
if (!curproxy->email_alert.mailers.name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->email_alert.mailers.name)
|
||||
goto alloc_error;
|
||||
}
|
||||
else if (strcmp(args[1], "myhostname") == 0) {
|
||||
if (*(args[1]) == 0) {
|
||||
@ -944,11 +920,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
}
|
||||
free(curproxy->email_alert.myhostname);
|
||||
curproxy->email_alert.myhostname = strdup(args[2]);
|
||||
if (!curproxy->email_alert.myhostname) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->email_alert.myhostname)
|
||||
goto alloc_error;
|
||||
}
|
||||
else if (strcmp(args[1], "level") == 0) {
|
||||
curproxy->email_alert.level = get_log_level(args[2]);
|
||||
@ -968,11 +941,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
}
|
||||
free(curproxy->email_alert.to);
|
||||
curproxy->email_alert.to = strdup(args[2]);
|
||||
if (!curproxy->email_alert.to) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->email_alert.to)
|
||||
goto alloc_error;
|
||||
}
|
||||
else {
|
||||
ha_alert("parsing [%s:%d] : email-alert: unknown argument '%s'.\n",
|
||||
@ -1012,21 +982,15 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
|
||||
free(curproxy->rdp_cookie_name);
|
||||
curproxy->rdp_cookie_name = my_strndup(beg, end - beg);
|
||||
if (!curproxy->rdp_cookie_name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->rdp_cookie_name)
|
||||
goto alloc_error;
|
||||
curproxy->rdp_cookie_len = end-beg;
|
||||
}
|
||||
else if (*(args[1] + 10) == '\0') { /* default cookie name 'msts' */
|
||||
free(curproxy->rdp_cookie_name);
|
||||
curproxy->rdp_cookie_name = strdup("msts");
|
||||
if (!curproxy->rdp_cookie_name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->rdp_cookie_name)
|
||||
goto alloc_error;
|
||||
curproxy->rdp_cookie_len = strlen(curproxy->rdp_cookie_name);
|
||||
}
|
||||
else { /* syntax */
|
||||
@ -1080,11 +1044,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
else
|
||||
curproxy->server_state_file_name = strdup(args[1]);
|
||||
|
||||
if (!curproxy->server_state_file_name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->server_state_file_name)
|
||||
goto alloc_error;
|
||||
}
|
||||
else if (strcmp(args[0], "max-session-srv-conns") == 0) {
|
||||
if (warnifnotcap(curproxy, PR_CAP_FE, file, linenum, args[0], NULL))
|
||||
@ -1119,11 +1080,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
}
|
||||
free(curproxy->capture_name);
|
||||
curproxy->capture_name = strdup(args[2]);
|
||||
if (!curproxy->capture_name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->capture_name)
|
||||
goto alloc_error;
|
||||
curproxy->capture_namelen = strlen(curproxy->capture_name);
|
||||
curproxy->capture_len = atol(args[4]);
|
||||
curproxy->to_log |= LW_COOKIE;
|
||||
@ -1162,9 +1120,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
if (hdr)
|
||||
ha_free(&hdr->name);
|
||||
ha_free(&hdr);
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
goto alloc_error;
|
||||
}
|
||||
hdr->index = curproxy->nb_req_cap++;
|
||||
curproxy->req_cap = hdr;
|
||||
@ -1203,9 +1159,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
if (hdr)
|
||||
ha_free(&hdr->name);
|
||||
ha_free(&hdr);
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
goto alloc_error;
|
||||
}
|
||||
hdr->index = curproxy->nb_rsp_cap++;
|
||||
curproxy->rsp_cap = hdr;
|
||||
@ -1339,11 +1293,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
/* set the desired header name, in lower case */
|
||||
free(curproxy->server_id_hdr_name);
|
||||
curproxy->server_id_hdr_name = strdup(args[1]);
|
||||
if (!curproxy->server_id_hdr_name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->server_id_hdr_name)
|
||||
goto alloc_error;
|
||||
curproxy->server_id_hdr_len = strlen(curproxy->server_id_hdr_name);
|
||||
ist2bin_lc(curproxy->server_id_hdr_name, ist2(curproxy->server_id_hdr_name, curproxy->server_id_hdr_len));
|
||||
}
|
||||
@ -1427,9 +1378,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
if (rule)
|
||||
ha_free(&(rule->be.name));
|
||||
ha_free(&rule);
|
||||
ha_alert("Out of memory error.\n");
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
goto alloc_error;
|
||||
}
|
||||
LIST_INIT(&rule->list);
|
||||
LIST_ADDQ(&curproxy->switching_rules, &rule->list);
|
||||
@ -1485,9 +1434,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
if (rule)
|
||||
ha_free(&(rule->srv.name));
|
||||
ha_free(&rule);
|
||||
ha_alert("Out of memory error.\n");
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
goto alloc_error;
|
||||
}
|
||||
LIST_INIT(&rule->list);
|
||||
LIST_ADDQ(&curproxy->server_rules, &rule->list);
|
||||
@ -1530,9 +1477,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
if (cond)
|
||||
prune_acl_cond(cond);
|
||||
ha_free(&cond);
|
||||
ha_alert("Out of memory error.\n");
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
goto alloc_error;
|
||||
}
|
||||
rule->cond = cond;
|
||||
if (strcmp(args[0], "force-persist") == 0) {
|
||||
@ -1700,9 +1645,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
if (cond)
|
||||
prune_acl_cond(cond);
|
||||
ha_free(&cond);
|
||||
ha_alert("Out of memory error.\n");
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
goto alloc_error;
|
||||
}
|
||||
rule->cond = cond;
|
||||
rule->expr = expr;
|
||||
@ -1729,11 +1672,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!stats_check_init_uri_auth(&curproxy->uri_auth)) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!stats_check_init_uri_auth(&curproxy->uri_auth))
|
||||
goto alloc_error;
|
||||
|
||||
if (strcmp(args[2], "if") != 0 && strcmp(args[2], "unless") != 0) {
|
||||
ha_alert("parsing [%s:%d] : '%s %s' requires either 'if' or 'unless' followed by a condition.\n",
|
||||
@ -1757,9 +1697,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
if (cond)
|
||||
prune_acl_cond(cond);
|
||||
ha_free(&cond);
|
||||
ha_alert("Out of memory error.\n");
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
goto alloc_error;
|
||||
}
|
||||
rule->cond = cond;
|
||||
LIST_INIT(&rule->list);
|
||||
@ -1769,21 +1707,15 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
ha_alert("parsing [%s:%d] : 'uri' needs an URI prefix.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_FATAL;
|
||||
goto out;
|
||||
} else if (!stats_set_uri(&curproxy->uri_auth, args[2])) {
|
||||
ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
} else if (!stats_set_uri(&curproxy->uri_auth, args[2]))
|
||||
goto alloc_error;
|
||||
} else if (strcmp(args[1], "realm") == 0) {
|
||||
if (*(args[2]) == 0) {
|
||||
ha_alert("parsing [%s:%d] : 'realm' needs an realm name.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_FATAL;
|
||||
goto out;
|
||||
} else if (!stats_set_realm(&curproxy->uri_auth, args[2])) {
|
||||
ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
} else if (!stats_set_realm(&curproxy->uri_auth, args[2]))
|
||||
goto alloc_error;
|
||||
} else if (strcmp(args[1], "refresh") == 0) {
|
||||
unsigned interval;
|
||||
|
||||
@ -1805,11 +1737,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
file, linenum, *err);
|
||||
err_code |= ERR_ALERT | ERR_FATAL;
|
||||
goto out;
|
||||
} else if (!stats_set_refresh(&curproxy->uri_auth, interval)) {
|
||||
ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
} else if (!stats_set_refresh(&curproxy->uri_auth, interval))
|
||||
goto alloc_error;
|
||||
} else if (strcmp(args[1], "http-request") == 0) { /* request access control: allow/deny/auth */
|
||||
struct act_rule *rule;
|
||||
|
||||
@ -1819,11 +1748,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!stats_check_init_uri_auth(&curproxy->uri_auth)) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!stats_check_init_uri_auth(&curproxy->uri_auth))
|
||||
goto alloc_error;
|
||||
|
||||
if (!LIST_ISEMPTY(&curproxy->uri_auth->http_req_rules) &&
|
||||
!LIST_PREV(&curproxy->uri_auth->http_req_rules, struct act_rule *, list)->cond) {
|
||||
@ -1849,45 +1775,27 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
ha_alert("parsing [%s:%d] : 'auth' needs a user:password account.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_FATAL;
|
||||
goto out;
|
||||
} else if (!stats_add_auth(&curproxy->uri_auth, args[2])) {
|
||||
ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
} else if (!stats_add_auth(&curproxy->uri_auth, args[2]))
|
||||
goto alloc_error;
|
||||
} else if (strcmp(args[1], "scope") == 0) {
|
||||
if (*(args[2]) == 0) {
|
||||
ha_alert("parsing [%s:%d] : 'scope' needs a proxy name.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_FATAL;
|
||||
goto out;
|
||||
} else if (!stats_add_scope(&curproxy->uri_auth, args[2])) {
|
||||
ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
} else if (!stats_add_scope(&curproxy->uri_auth, args[2]))
|
||||
goto alloc_error;
|
||||
} else if (strcmp(args[1], "enable") == 0) {
|
||||
if (!stats_check_init_uri_auth(&curproxy->uri_auth)) {
|
||||
ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!stats_check_init_uri_auth(&curproxy->uri_auth))
|
||||
goto alloc_error;
|
||||
} else if (strcmp(args[1], "hide-version") == 0) {
|
||||
if (!stats_set_flag(&curproxy->uri_auth, STAT_HIDEVER)) {
|
||||
ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!stats_set_flag(&curproxy->uri_auth, STAT_HIDEVER))
|
||||
goto alloc_error;
|
||||
} else if (strcmp(args[1], "show-legends") == 0) {
|
||||
if (!stats_set_flag(&curproxy->uri_auth, STAT_SHLGNDS)) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!stats_set_flag(&curproxy->uri_auth, STAT_SHLGNDS))
|
||||
goto alloc_error;
|
||||
} else if (strcmp(args[1], "show-modules") == 0) {
|
||||
if (!stats_set_flag(&curproxy->uri_auth, STAT_SHMODULES)) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!stats_set_flag(&curproxy->uri_auth, STAT_SHMODULES))
|
||||
goto alloc_error;
|
||||
} else if (strcmp(args[1], "show-node") == 0) {
|
||||
|
||||
if (*args[2]) {
|
||||
@ -1910,11 +1818,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
}
|
||||
}
|
||||
|
||||
if (!stats_set_node(&curproxy->uri_auth, args[2])) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!stats_set_node(&curproxy->uri_auth, args[2]))
|
||||
goto alloc_error;
|
||||
} else if (strcmp(args[1], "show-desc") == 0) {
|
||||
char *desc = NULL;
|
||||
|
||||
@ -1938,9 +1843,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
else {
|
||||
if (!stats_set_desc(&curproxy->uri_auth, desc)) {
|
||||
free(desc);
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
goto alloc_error;
|
||||
}
|
||||
free(desc);
|
||||
}
|
||||
@ -2291,11 +2194,8 @@ stats_error_parsing:
|
||||
|
||||
free(curproxy->fwdfor_hdr_name);
|
||||
curproxy->fwdfor_hdr_name = strdup(DEF_XFORWARDFOR_HDR);
|
||||
if (!curproxy->fwdfor_hdr_name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->fwdfor_hdr_name)
|
||||
goto alloc_error;
|
||||
curproxy->fwdfor_hdr_len = strlen(DEF_XFORWARDFOR_HDR);
|
||||
curproxy->except_xff_net.family = AF_UNSPEC;
|
||||
|
||||
@ -2337,11 +2237,8 @@ stats_error_parsing:
|
||||
}
|
||||
free(curproxy->fwdfor_hdr_name);
|
||||
curproxy->fwdfor_hdr_name = strdup(args[cur_arg+1]);
|
||||
if (!curproxy->fwdfor_hdr_name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->fwdfor_hdr_name)
|
||||
goto alloc_error;
|
||||
curproxy->fwdfor_hdr_len = strlen(curproxy->fwdfor_hdr_name);
|
||||
cur_arg += 2;
|
||||
} else if (strcmp(args[cur_arg], "if-none") == 0) {
|
||||
@ -2367,11 +2264,8 @@ stats_error_parsing:
|
||||
|
||||
free(curproxy->orgto_hdr_name);
|
||||
curproxy->orgto_hdr_name = strdup(DEF_XORIGINALTO_HDR);
|
||||
if (!curproxy->orgto_hdr_name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->orgto_hdr_name)
|
||||
goto alloc_error;
|
||||
curproxy->orgto_hdr_len = strlen(DEF_XORIGINALTO_HDR);
|
||||
curproxy->except_xot_net.family = AF_UNSPEC;
|
||||
|
||||
@ -2412,11 +2306,8 @@ stats_error_parsing:
|
||||
}
|
||||
free(curproxy->orgto_hdr_name);
|
||||
curproxy->orgto_hdr_name = strdup(args[cur_arg+1]);
|
||||
if (!curproxy->orgto_hdr_name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->orgto_hdr_name)
|
||||
goto alloc_error;
|
||||
curproxy->orgto_hdr_len = strlen(curproxy->orgto_hdr_name);
|
||||
cur_arg += 2;
|
||||
} else {
|
||||
@ -2452,11 +2343,8 @@ stats_error_parsing:
|
||||
}
|
||||
free(curproxy->defbe.name);
|
||||
curproxy->defbe.name = strdup(args[1]);
|
||||
if (!curproxy->defbe.name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->defbe.name)
|
||||
goto alloc_error;
|
||||
|
||||
if (alertif_too_many_args_idx(1, 0, file, linenum, args, &err_code))
|
||||
goto out;
|
||||
@ -2748,11 +2636,8 @@ stats_error_parsing:
|
||||
}
|
||||
free(curproxy->conf.uniqueid_format_string);
|
||||
curproxy->conf.uniqueid_format_string = strdup(args[1]);
|
||||
if (!curproxy->conf.uniqueid_format_string) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->conf.uniqueid_format_string)
|
||||
goto alloc_error;
|
||||
|
||||
free(curproxy->conf.uif_file);
|
||||
curproxy->conf.uif_file = strdup(curproxy->conf.args.file);
|
||||
@ -2805,11 +2690,8 @@ stats_error_parsing:
|
||||
curproxy->conf.logformat_string != clf_http_log_format)
|
||||
free(curproxy->conf.logformat_string);
|
||||
curproxy->conf.logformat_string = strdup(args[1]);
|
||||
if (!curproxy->conf.logformat_string) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->conf.logformat_string)
|
||||
goto alloc_error;
|
||||
|
||||
free(curproxy->conf.lfs_file);
|
||||
curproxy->conf.lfs_file = strdup(curproxy->conf.args.file);
|
||||
@ -2839,11 +2721,8 @@ stats_error_parsing:
|
||||
if (curproxy->conf.logformat_sd_string != default_rfc5424_sd_log_format)
|
||||
free(curproxy->conf.logformat_sd_string);
|
||||
curproxy->conf.logformat_sd_string = strdup(args[1]);
|
||||
if (!curproxy->conf.logformat_sd_string) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->conf.logformat_sd_string)
|
||||
goto alloc_error;
|
||||
|
||||
free(curproxy->conf.lfsd_file);
|
||||
curproxy->conf.lfsd_file = strdup(curproxy->conf.args.file);
|
||||
@ -2944,11 +2823,8 @@ stats_error_parsing:
|
||||
curproxy->conn_src.opts |= CO_SRC_TPROXY_DYN;
|
||||
free(curproxy->conn_src.bind_hdr_name);
|
||||
curproxy->conn_src.bind_hdr_name = calloc(1, end - name + 1);
|
||||
if (!curproxy->conn_src.bind_hdr_name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->conn_src.bind_hdr_name)
|
||||
goto alloc_error;
|
||||
curproxy->conn_src.bind_hdr_len = end - name;
|
||||
memcpy(curproxy->conn_src.bind_hdr_name, name, end - name);
|
||||
curproxy->conn_src.bind_hdr_name[end-name] = '\0';
|
||||
@ -3010,11 +2886,8 @@ stats_error_parsing:
|
||||
}
|
||||
free(curproxy->conn_src.iface_name);
|
||||
curproxy->conn_src.iface_name = strdup(args[cur_arg + 1]);
|
||||
if (!curproxy->conn_src.iface_name) {
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
if (!curproxy->conn_src.iface_name)
|
||||
goto alloc_error;
|
||||
curproxy->conn_src.iface_len = strlen(curproxy->conn_src.iface_name);
|
||||
global.last_checks |= LSTCHK_NETADM;
|
||||
#else
|
||||
@ -3195,4 +3068,9 @@ stats_error_parsing:
|
||||
out:
|
||||
free(errmsg);
|
||||
return err_code;
|
||||
|
||||
alloc_error:
|
||||
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user