axcelkuhn / doubango

Automatically exported from code.google.com/p/doubango
0 stars 0 forks source link

memory leak when imsdroid receive incoming call! #24

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago

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

GoogleCodeExporter commented 9 years ago

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

GoogleCodeExporter commented 9 years ago

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