diff --git a/libs/sofia-sip/.update b/libs/sofia-sip/.update index 5c8be86d5e..f90a1aa213 100644 --- a/libs/sofia-sip/.update +++ b/libs/sofia-sip/.update @@ -1 +1 @@ -Fri May 15 10:59:42 CDT 2009 +Fri May 15 11:01:11 CDT 2009 diff --git a/libs/sofia-sip/libsofia-sip-ua/tport/tport.c b/libs/sofia-sip/libsofia-sip-ua/tport/tport.c index dd3892ecdb..2bf0b2d262 100644 --- a/libs/sofia-sip/libsofia-sip-ua/tport/tport.c +++ b/libs/sofia-sip/libsofia-sip-ua/tport/tport.c @@ -2952,6 +2952,7 @@ void tport_deliver(tport_t *self, tport_t *ref; int error; struct tport_delivery *d; + char ipaddr[SU_ADDRSIZE + 2]; assert(msg); @@ -2962,7 +2963,6 @@ void tport_deliver(tport_t *self, *d->d_from = *self->tp_name; if (tport_is_primary(self)) { - char ipaddr[SU_ADDRSIZE + 2]; su_sockaddr_t const *su = msg_addr(msg); #if SU_HAVE_IN6 @@ -3005,16 +3005,16 @@ void tport_deliver(tport_t *self, ref = tport_incref(self); - if (self->tp_pri->pri_vtable->vtp_deliver) { self->tp_pri->pri_vtable->vtp_deliver(self, msg, now); } else tport_base_deliver(self, msg, now); - tport_decref(&ref); - + memset(d->d_from, 0, sizeof d->d_from); d->d_msg = NULL; + + tport_decref(&ref); } /** Pass message to the protocol stack */