Fix #3001523: Cancelling a long pending file transfer crashes Pidgin
commit78ac47158bb248b5719511af9136783974f79b1a
authorJakub Adam <jakub.adam@ktknet.cz>
Mon, 17 May 2010 20:30:24 +0000 (17 22:30 +0200)
committerJakub Adam <jakub.adam@ktknet.cz>
Mon, 17 May 2010 20:30:24 +0000 (17 22:30 +0200)
treeefd3008cb1ac6aa5b9a619bfb6d7bd3f86a5c883
parent51d500c4d2fc23c63caf79530268ea9c587e3e95
Fix #3001523: Cancelling a long pending file transfer crashes Pidgin

After some time of inactivity, Communicator sends SIP BYE causing SIPE to deallocate corresponding sip_dialog.
When file transfer was afterwards canceled by user, code attempted to access the freed structure, leading to
segfault.

Terminating dialog now cancels all pending file transfers with that particular contact. Accept/decline screen
window is replaced with a message that remote peer cancelled the transfer, not allowing user to make invalid
action anymore.
src/core/sipe-core-private.h
src/core/sipe-dialog.c
src/core/sipe-dialog.h
src/core/sipe-ft.c
src/core/sipe-ft.h
src/core/sipe.c
src/purple/purple-ft.c