mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
chan_dahdi: Address gcc9 issues
Fixed format-truncation issues in chan_dahdi.c and sig_analog.c. Since they're related to fields provided by dahdi-tools we can't change the buffer sizes so we're just checking the return from snprintf and printing an errior if we overflow. Change-Id: Idc1f3c1565b88a7d145332a0196074b5832864e5
This commit is contained in:
@@ -2968,11 +2968,16 @@ static struct ast_frame *__analog_handle_event(struct analog_pvt *p, struct ast_
|
||||
} else {
|
||||
c = p->dialdest;
|
||||
}
|
||||
|
||||
if (*c) {
|
||||
snprintf(p->dop.dialstr, sizeof(p->dop.dialstr), "M*0%s#", c);
|
||||
int numchars = snprintf(p->dop.dialstr, sizeof(p->dop.dialstr), "M*0%s#", c);
|
||||
if (numchars >= sizeof(p->dop.dialstr)) {
|
||||
ast_log(LOG_WARNING, "Dial string '%s' truncated\n", c);
|
||||
}
|
||||
} else {
|
||||
ast_copy_string(p->dop.dialstr,"M*2#", sizeof(p->dop.dialstr));
|
||||
}
|
||||
|
||||
if (strlen(p->dop.dialstr) > 4) {
|
||||
memset(p->echorest, 'w', sizeof(p->echorest) - 1);
|
||||
strcpy(p->echorest + (p->echotraining / 401) + 1, p->dop.dialstr + strlen(p->dop.dialstr) - 2);
|
||||
|
Reference in New Issue
Block a user