diff options
author | Benny Prijono <bennylp@teluu.com> | 2008-12-17 14:28:18 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2008-12-17 14:28:18 +0000 |
commit | 30d11975f4123b0dfd06b1ba6d36b8e0bbe09a51 (patch) | |
tree | 401cad084f7d2fab6935488a5fcf575f5384bbac /pjsip/src/pjsip-ua | |
parent | b6529acff90535f3f54b57d093bae7bc90139bff (diff) |
Ticket 684: protect the memory allocation for TX packet with try/catch, and fixed various transmit data buffer leaks when transmission fails immediately
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2380 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip-ua')
-rw-r--r-- | pjsip/src/pjsip-ua/sip_inv.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c index e1bcd0df..6e31d25f 100644 --- a/pjsip/src/pjsip-ua/sip_inv.c +++ b/pjsip/src/pjsip-ua/sip_inv.c @@ -2814,6 +2814,11 @@ static void inv_on_state_null( pjsip_inv_session *inv, pjsip_event *e) if (tsx->status_code > 100) inv_set_state(inv, PJSIP_INV_STATE_EARLY, e); break; + case PJSIP_TSX_STATE_TERMINATED: + /* there is a failure in sending response. */ + inv_set_cause(inv, tsx->status_code, &tsx->status_text); + inv_set_state(inv, PJSIP_INV_STATE_DISCONNECTED, e); + break; default: inv_on_state_incoming(inv, e); break; |