[asterisk-commits] mmichelson: trunk r111777 - in /trunk: channels/ include/asterisk/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Mar 28 14:14:52 CDT 2008


Author: mmichelson
Date: Fri Mar 28 14:14:51 2008
New Revision: 111777

URL: http://svn.digium.com/view/asterisk?view=rev&rev=111777
Log:
Temporary revert of 111662. It's causing lots of trouble and appears to not be
the proper solution to the problem reported anyway.

(related to issue #12884)


Modified:
    trunk/channels/chan_sip.c
    trunk/include/asterisk/strings.h

Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=111777&r1=111776&r2=111777
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Fri Mar 28 14:14:51 2008
@@ -8308,15 +8308,15 @@
 	if (!dst->data && !(dst->data = ast_str_create(src->data->used)))
 		return;
 	else if (dst->data->len < src->data->used)
-		ast_str_make_space(&dst->data, src->data->used + 1); /* Account for null terminator needed */
+		ast_str_make_space(&dst->data, src->data->used);
 		
-	ast_copy_string(dst->data->str, src->data->str, dst->data->len);
+	memcpy(dst->data->str, src->data->str, src->data->used);
 	dst->data->used = src->data->used;
 	offset = ((void *)dst->data->str) - ((void *)src->data->str);
 	/* Now fix pointer arithmetic */
-	for (x = 0; x < src->headers; x++)
+	for (x=0; x < src->headers; x++)
 		dst->header[x] += offset;
-	for (x = 0; x < src->lines; x++)
+	for (x=0; x < src->lines; x++)
 		dst->line[x] += offset;
 	/* On some occasions this function is called without parse_request being called first so lets not create an invalid pointer */
 	if (src->rlPart1)

Modified: trunk/include/asterisk/strings.h
URL: http://svn.digium.com/view/asterisk/trunk/include/asterisk/strings.h?view=diff&rev=111777&r1=111776&r2=111777
==============================================================================
--- trunk/include/asterisk/strings.h (original)
+++ trunk/include/asterisk/strings.h Fri Mar 28 14:14:51 2008
@@ -326,7 +326,7 @@
  */
 struct ast_str {
 	size_t len;	/*!< The current maximum length of the string */
-	size_t used;	/*!< Amount of space used. Does not include string's null terminator */
+	size_t used;	/*!< Amount of space used */
 	struct ast_threadstorage *ts;	/*!< What kind of storage is this ? */
 #define DS_MALLOC	((struct ast_threadstorage *)1)
 #define DS_ALLOCA	((struct ast_threadstorage *)2)




More information about the asterisk-commits mailing list