[asterisk-commits] kpfleming: trunk r148695 - /trunk/channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Oct 14 04:31:51 CDT 2008


Author: kpfleming
Date: Tue Oct 14 04:31:50 2008
New Revision: 148695

URL: http://svn.digium.com/view/asterisk?view=rev&rev=148695
Log:
ensure that *all* fields in the req structure are cleared out before reusing it; has_to_tag was not cleared, which caused the second incoming call over a TCP socket to fail

Modified:
    trunk/channels/chan_sip.c

Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=148695&r1=148694&r2=148695
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Tue Oct 14 04:31:50 2008
@@ -1,4 +1,4 @@
- /*
+/*
  * Asterisk -- An open source telephony toolkit.
  *
  * Copyright (C) 1999 - 2006, Digium, Inc.
@@ -2402,11 +2402,17 @@
 		goto cleanup;
 
 	for (;;) {
+		struct ast_str *str_save;
+
+		str_save = req.data;
+		memset(&req, 0, sizeof(req));
+		req.data = str_save;
 		ast_str_reset(req.data);
+
+		str_save = reqcpy.data;
+		memset(&reqcpy, 0, sizeof(reqcpy));
+		reqcpy.data = str_save;
 		ast_str_reset(reqcpy.data);
-		req.len = 0;
-		req.ignore = 0;
-		req.debug = 0;
 
 		req.socket.fd = ser->fd;
 		if (ser->ssl) {




More information about the asterisk-commits mailing list