mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-29 18:19:30 +00:00
Merged revisions 62692 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r62692 | tilghman | 2007-05-02 12:43:48 -0500 (Wed, 02 May 2007) | 12 lines Merged revisions 62691 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r62691 | tilghman | 2007-05-02 12:38:16 -0500 (Wed, 02 May 2007) | 4 lines Issue 9638 - if a text frame is sent with no terminating NULL through a bridged IAX connection, the remote end will receive garbage characters tacked onto the end. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@62693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -6822,6 +6822,13 @@ static int socket_process(struct iax2_thread *thread)
|
||||
ast_mutex_unlock(&iaxsl[fr->callno]);
|
||||
return 1;
|
||||
}
|
||||
/* Ensure text frames are NULL-terminated */
|
||||
if (f.frametype == AST_FRAME_TEXT && thread->buf[res - 1] != '\0') {
|
||||
if (res < sizeof(thread->buf))
|
||||
thread->buf[res++] = '\0';
|
||||
else /* Trims one character from the text message, but that's better than overwriting the end of the buffer. */
|
||||
thread->buf[res - 1] = '\0';
|
||||
}
|
||||
f.datalen = res - sizeof(*fh);
|
||||
|
||||
/* Handle implicit ACKing unless this is an INVAL, and only if this is
|
||||
|
Reference in New Issue
Block a user