[Asterisk-code-review] sip/dialplan functions.c: Fix /channels/chan sip/test sip rt... (asterisk[13])

Anonymous Coward asteriskteam at digium.com
Wed Mar 16 18:25:41 CDT 2016


Anonymous Coward #1000019 has submitted this change and it was merged.

Change subject: sip/dialplan_functions.c: Fix /channels/chan_sip/test_sip_rtpqos crash.
......................................................................


sip/dialplan_functions.c: Fix /channels/chan_sip/test_sip_rtpqos crash.

This patch is part of a series to resolve deadlocks in chan_sip.c.

Delaying destruction of the chan_sip sip_pvt structures caused the
/channels/chan_sip/test_sip_rtpqos unit test to crash.  That test
registers a special test ast_rtp_engine with the rtp engine module.  When
the unit test completes it cleans up by unregistering the test
ast_rtp_engine and exits.  Since the delayed destruction of the sip_pvt
happens after the unit test returns, the destructor tries to call the rtp
engine destroy callback of the test ast_rtp_engine auto variable which no
longer exists on the stack.

* Change the test ast_rtp_engine auto variable to a static variable.  Now
the variable can still exist after the unit test exits so the delayed
sip_pvt destruction can complete successfully.

ASTERISK-25023

Change-Id: I61e34a12d425189ef7e96fc69ae14993f82f3f13
---
M channels/sip/dialplan_functions.c
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Mark Michelson: Looks good to me, approved
  Anonymous Coward #1000019: Verified
  George Joseph: Looks good to me, but someone else must approve



diff --git a/channels/sip/dialplan_functions.c b/channels/sip/dialplan_functions.c
index 5499db8..608f456 100644
--- a/channels/sip/dialplan_functions.c
+++ b/channels/sip/dialplan_functions.c
@@ -273,7 +273,7 @@
 AST_TEST_DEFINE(test_sip_rtpqos_1)
 {
 	int i, res = AST_TEST_PASS;
-	struct ast_rtp_engine test_engine = {
+	static struct ast_rtp_engine test_engine = {
 		.name = "test",
 		.new = test_sip_rtpqos_1_new,
 		.destroy = test_sip_rtpqos_1_destroy,

-- 
To view, visit https://gerrit.asterisk.org/2403
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I61e34a12d425189ef7e96fc69ae14993f82f3f13
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-Owner: Richard Mudgett <rmudgett at digium.com>
Gerrit-Reviewer: Anonymous Coward #1000019
Gerrit-Reviewer: Corey Farrell <git at cfware.com>
Gerrit-Reviewer: George Joseph <george.joseph at fairview5.com>
Gerrit-Reviewer: Mark Michelson <mmichelson at digium.com>



More information about the asterisk-code-review mailing list