mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-13 07:45:26 +00:00
mod_freetdm: Avoid overflowing the spanparameters array of libpri spans, and make other span types use ftdm_array_len() too.
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
This commit is contained in:
parent
b2f8041790
commit
eeaab3a02e
@ -2594,7 +2594,7 @@ static switch_status_t load_config(void)
|
||||
char *var = (char *) switch_xml_attr_soft(param, "name");
|
||||
char *val = (char *) switch_xml_attr_soft(param, "value");
|
||||
|
||||
if (sizeof(spanparameters)/sizeof(spanparameters[0]) == paramindex) {
|
||||
if (ftdm_array_len(spanparameters) == paramindex) {
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Too many parameters for ss7 span, ignoring any parameter after %s\n", var);
|
||||
break;
|
||||
}
|
||||
@ -3106,6 +3106,11 @@ static switch_status_t load_config(void)
|
||||
char *var = (char *) switch_xml_attr_soft(param, "name");
|
||||
char *val = (char *) switch_xml_attr_soft(param, "value");
|
||||
|
||||
if (ftdm_array_len(spanparameters) == paramindex) {
|
||||
ftdm_log(FTDM_LOG_ERROR, "Too many parameters for libpri span, ignoring everything after '%s'\n", var);
|
||||
break;
|
||||
}
|
||||
|
||||
if (!strcasecmp(var, "context")) {
|
||||
context = val;
|
||||
} else if (!strcasecmp(var, "dialplan")) {
|
||||
@ -3165,7 +3170,8 @@ static switch_status_t load_config(void)
|
||||
for (param = switch_xml_child(myspan, "param"); param; param = param->next) {
|
||||
char *var = (char *) switch_xml_attr_soft(param, "name");
|
||||
char *val = (char *) switch_xml_attr_soft(param, "value");
|
||||
if (sizeof(spanparameters)/sizeof(spanparameters[0]) == paramindex) {
|
||||
|
||||
if (ftdm_array_len(spanparameters) == paramindex) {
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Too many parameters for boost span, ignoring any parameter after %s\n", var);
|
||||
break;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user