summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2003-08-15 18:50:49 +0000
committerMark Spencer <markster@digium.com>2003-08-15 18:50:49 +0000
commit3e211c91a209fd87357e441b33d5e71132010cb3 (patch)
treebebbee405fc74b5b46e109a7dea44fdffac39f84
parent6aa3efe185a20c6f74713dd988823314a4324716 (diff)
Make sure strncat is > 0
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rwxr-xr-xchannels/chan_sip.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index fd5971e0f..e1727dea9 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -3720,9 +3720,13 @@ static int check_user(struct sip_pvt *p, struct sip_request *req, char *cmd, cha
static int get_msg_text(char *buf, int len, struct sip_request *req)
{
int x;
+ int y;
strcpy(buf, "");
+ y = len - strlen(buf) - 5;
+ if (y < 0)
+ y = 0;
for (x=0;x<req->lines;x++) {
- strncat(buf, req->line[x], len - strlen(buf) - 5);
+ strncat(buf, req->line[x], y);
strcat(buf, "\n");
}
return 0;