From c680adba74e2d47a9a9fc2fe4b4100cac66092b7 Mon Sep 17 00:00:00 2001
From: Martin Pycko <martinp@digium.com>
Date: Sun, 8 Jun 2003 16:26:08 +0000
Subject: [PATCH] Fix the segfault in get_calleridname if the From: string
 starts with "<sip:..."

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_sip.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 5c14899d63..58ef4530d2 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -3326,7 +3326,7 @@ static char *get_calleridname(char *input,char *output)
 {
 	char *end = strchr(input,'<');
 	char *tmp = strchr(input,'\"');
-	if (!end) return NULL;
+	if (!end || (end == input)) return NULL;
 	/* move away from "<" */
 	end--;
 	/* we found "name" */
@@ -3342,7 +3342,10 @@ static char *get_calleridname(char *input,char *output)
 		/* clear the empty characters in the end */
 		while(*end && (*end < 33) && end > input)
 			end--;
-		strncpy(output,input,(int)(end-input));
+		if (end > input)
+			strncpy(output,input,(int)(end-input));
+		else
+			output = NULL;
 	}
 	return output;
 }
-- 
GitLab