From: Russell Bryant Date: Sat, 20 May 2006 19:50:41 +0000 (+0000) Subject: fix the possibility of writing one byte past the end of a buffer. X-Git-Tag: 1.2.9.1~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee808b61879af5f903e5316f2134907b4676f37d;p=thirdparty%2Fasterisk.git fix the possibility of writing one byte past the end of a buffer. (issue #7189, Mithraen) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@29052 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index f3d93f52ad..8719be134b 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -11215,8 +11215,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);