diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 2a170b8f6a..c2e1026c90 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -11325,8 +11325,9 @@ static int sipsock_read(int *id, int fd, short events, void *ignore) } if (res == sizeof(req.data)) { ast_log(LOG_DEBUG, "Received packet exceeds buffer. Data is possibly lost\n"); - } - req.data[res] = '\0'; + req.data[sizeof(req.data) - 1] = '\0'; + } else + req.data[res] = '\0'; req.len = res; if(sip_debug_test_addr(&sin)) ast_set_flag(&req, SIP_PKT_DEBUG);