From ca2c46d4bf2562bf76a7c15bfba1c7e900ff3fd9 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Fri, 15 May 2009 15:47:55 +0000 Subject: [PATCH] Tue May 12 11:08:07 CDT 2009 Pekka Pessi * nta: do not free transaction in reliable_timeout() if caused by failure to send final response Ignore-this: 8e32f83925b6f2a3629afbb8b20ba693 Issue detected by Coverity. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13322 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/sofia-sip/.update | 2 +- libs/sofia-sip/libsofia-sip-ua/nta/nta.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/libs/sofia-sip/.update b/libs/sofia-sip/.update index 8dbe07cc4f..e80341ad66 100644 --- a/libs/sofia-sip/.update +++ b/libs/sofia-sip/.update @@ -1 +1 @@ -Fri May 15 10:46:01 CDT 2009 +Fri May 15 10:47:06 CDT 2009 diff --git a/libs/sofia-sip/libsofia-sip-ua/nta/nta.c b/libs/sofia-sip/libsofia-sip-ua/nta/nta.c index e98fa0e4ba..d31e22a068 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nta/nta.c +++ b/libs/sofia-sip/libsofia-sip-ua/nta/nta.c @@ -11007,10 +11007,12 @@ void reliable_timeout(nta_incoming_t *irq, int timeout) irq->irq_in_callback = 0; + if (!timeout) + return; + if (irq->irq_completed && irq->irq_destroyed) incoming_free(irq), irq = NULL; - - if (timeout && irq && irq->irq_status < 200) + else if (irq->irq_status < 200) nta_incoming_treply(irq, 503, "Reliable Response Time-Out", TAG_END()); }