fix the possibility of writing one byte past the end of a buffer.
(issue #7189, Mithraen) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@29053 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
e92fd19917
commit
eb4fd3a539
|
@ -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);
|
||||
|
|
Reference in New Issue