Commit 691ea491 authored by Pekka Pessi's avatar Pekka Pessi

nta.c: fixed memory reference problem with nta_outgoing_tagged().

nta_outgoing_tagged() kept a reference to the resolver in the tagged
request, too.

Also fixed nta_outgoing_destroy(): do not destroy the transaaction if
we have sent a final response to INVITE but we have not received ACK

darcs-hash:20070212154324-65a35-6c8698e6c6ed2950cf22b2719a3035a0033808ec.gz
parent ad89881b
......@@ -9651,8 +9651,9 @@ int reliable_recv(nta_incoming_t *irq, msg_t *msg, sip_t *sip, tport_t *tp)
status = rel->rel_callback(rel->rel_magic, rel, pr_irq, sip); rel = NULL;
irq->irq_in_callback = pr_irq->irq_in_callback = 0;
if (pr_irq->irq_destroyed && pr_irq->irq_terminated) {
incoming_free(pr_irq);
if (pr_irq->irq_completed) { /* Already sent final response */
if (pr_irq->irq_terminated && pr_irq->irq_destroyed)
incoming_free(pr_irq);
}
else if (status != 0) {
if (status < 200 || status > 299) {
......@@ -9915,6 +9916,9 @@ nta_outgoing_t *nta_outgoing_tagged(nta_outgoing_t *orq,
tagged->orq_prev = NULL, tagged->orq_next = NULL, tagged->orq_queue = NULL;
tagged->orq_rprev = NULL, tagged->orq_rnext = NULL;
#if HAVE_SOFIA_SRESOLV
tagged->orq_resolver = NULL;
#endif
if (tagged->orq_cc)
nta_compartment_ref(tagged->orq_cc);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment