mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
Fixed reference to incorrect variable if unknown host configured crash.
* Fixed a LOG_ERROR message referencing the config variable list v that had previously been processed and became NULL. * Added error return value set that was missing in an ast_append_ha() error return path. (closes issue ASTERISK-18743) Reported by: Michele Patches: issueA18743-fix_dynamic_exclude_static_bad_host_log.patch (license #5674) patch uploaded by Walter Doekes Tested by: Michele ........ Merged revisions 343851 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343852 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@343853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -28119,11 +28119,11 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
|
|||||||
ast_string_field_set(peer, tohost, srvlookup);
|
ast_string_field_set(peer, tohost, srvlookup);
|
||||||
|
|
||||||
if (global_dynamic_exclude_static) {
|
if (global_dynamic_exclude_static) {
|
||||||
int err = 0;
|
int ha_error = 0;
|
||||||
sip_cfg.contact_ha = ast_append_ha("deny", ast_sockaddr_stringify_addr(&peer->addr),
|
sip_cfg.contact_ha = ast_append_ha("deny", ast_sockaddr_stringify_addr(&peer->addr),
|
||||||
sip_cfg.contact_ha, &err);
|
sip_cfg.contact_ha, &ha_error);
|
||||||
if (err) {
|
if (ha_error) {
|
||||||
ast_log(LOG_ERROR, "Bad ACL entry in configuration line %d : %s\n", v->lineno, v->value);
|
ast_log(LOG_ERROR, "Bad or unresolved host/IP entry in configuration for peer %s, cannot add to contact ACL\n", peer->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (peer->dnsmgr && !peer->host_dynamic) {
|
} else if (peer->dnsmgr && !peer->host_dynamic) {
|
||||||
|
@@ -408,6 +408,9 @@ struct ast_ha *ast_append_ha(const char *sense, const char *stuff, struct ast_ha
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!(ha = ast_calloc(1, sizeof(*ha)))) {
|
if (!(ha = ast_calloc(1, sizeof(*ha)))) {
|
||||||
|
if (error) {
|
||||||
|
*error = 1;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user