From 1c608f0a5deab1142e459e709a33baf51823f7f4 Mon Sep 17 00:00:00 2001 From: Stefan Knoblich Date: Thu, 30 Jun 2011 23:49:45 +0200 Subject: [PATCH] ftmod_libpri: final fix called number overlap receiving... ftdm_copy_string() length parameter needs to include the terminating NUL byte. Signed-off-by: Stefan Knoblich Tested-by: Stefan Knoblich --- libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c b/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c index 8bebbbe242..949989be21 100644 --- a/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c +++ b/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c @@ -890,14 +890,14 @@ static int on_info(lpwrap_pri_t *spri, lpwrap_pri_event_t event_type, pri_event if (!ftdm_strlen_zero(pevent->ring.callednum)) { int digits = strlen(pevent->ring.callednum); int offset = strlen(caller_data->dnis.digits); - int len = MIN(sizeof(caller_data->dnis.digits) - 1 - offset, digits); + int len = MIN(sizeof(caller_data->dnis.digits) - 1 - offset, digits); /* max. length without terminator */ if (len < digits) { ftdm_log_chan(chan, FTDM_LOG_WARNING, "Length %d of digit string exceeds available space %d of DNIS, truncating!\n", digits, len); } - ftdm_copy_string(&caller_data->dnis.digits[offset], (char *)pevent->ring.callednum, len); + ftdm_copy_string(&caller_data->dnis.digits[offset], (char *)pevent->ring.callednum, len + 1); /* max. length with terminator */ caller_data->dnis.digits[offset + len] = '\0'; } if (pevent->ring.complete) {