chan_sip: Ensure 'qualifygap' isn't negative

Passing negative intervals to the scheduler rips a hole in the
space-time continuum.

ASTERISK-25792 #close
Reported by: Paul Sandys

Change-Id: Ie706f21cee05f76ffb6f7d89e9c867930ee7bcd7
This commit is contained in:
Sean Bright
2019-03-25 15:31:23 -04:00
parent c7d29cdcf2
commit d905602a04

View File

@@ -33182,7 +33182,8 @@ static int reload_config(enum channelreloadreason reason)
ast_log(LOG_WARNING, "Usage of SIP_CAUSE is deprecated. Please use HANGUPCAUSE instead.\n");
}
} else if (!strcasecmp(v->name, "qualifygap")) {
if (sscanf(v->value, "%30d", &global_qualify_gap) != 1) {
if (sscanf(v->value, "%30d", &global_qualify_gap) != 1
|| global_qualify_gap < 0) {
ast_log(LOG_WARNING, "Invalid qualifygap '%s' at line %d of %s\n", v->value, v->lineno, config);
global_qualify_gap = DEFAULT_QUALIFY_GAP;
}