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/trunk@29053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant
2006-05-20 19:54:14 +00:00
parent b88c06b8b5
commit ed0b86c916
+4 -3
View File
@@ -12121,10 +12121,11 @@ static int sipsock_read(int *id, int fd, short events, void *ignore)
ast_log(LOG_WARNING, "Recv error: %s\n", strerror(errno));
return 1;
}
if (option_debug && res == sizeof(req.data))
if (option_debug && 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)) /* Set the debug flag early on packet level */
ast_set_flag(&req, SIP_PKT_DEBUG);