ChallyCai/doubango

memory leak when imsdroid receive incoming call!

Closed this issue · 3 comments

when imsdroid receive incoming call,and answer,then hangup.


REASON:
  when receive ACK from peer,tinysip create transaction for this dialog,then dialog object ref will increase.
  but dialog object ref will not decrease when hangup.
  so the relative object(for example dialog object) will not free.

BUG FIX:
tinySIP/src/dialogs/tsip_dialog_layer.c

tsip_dialog_layer_handle_incoming_msg.

transac = tsip_transac_layer_new(layer_transac, tsk_false, message, 
TSIP_DIALOG(dialog));
tsk_object_unref(dialog);

======>
                        if (!strcasecmp(message->CSeq->method,"ACK")) {
                                ret = dialog->callback(dialog, tsip_dialog_i_msg, message);
                                tsk_object_unref(dialog);
                                goto bail;
                        } else {
                                transac = tsip_transac_layer_new(layer_transac, tsk_false, message, TSIP_DIALOG(dialog));
                                tsk_object_unref(dialog);
                        }





Original issue reported on code.google.com by zth7...@tom.com on 21 Oct 2010 at 9:38

Original comment by boss...@yahoo.fr on 28 Oct 2010 at 7:11

  • Changed state: Accepted

Original comment by boss...@yahoo.fr on 5 Jan 2011 at 10:13

  • Changed state: NextRelease

Original comment by boss...@yahoo.fr on 7 Feb 2011 at 12:25

  • Changed state: Fixed