Opened 9 years ago

Closed 9 years ago

#12806 closed patch (fixed)

pidgin_request_timeout_cb should be removed in pidgin_media_dispose()

Reported by: haakon Owned by: Maiku
Milestone: 2.7.6 Component: Voice and Video
Version: 2.7.5 Keywords:


If there is still pidgin_request_timeout_cb call scheduled when code execution reaches pidgin_media_dispose(), I suggest to remove the scheduled timeout.

When the call is ended in the interval between timeout is added in pidgin_media_ready_cb() and the callback function execution (e.g. because of error reported from GStreamer), still after the period expires, user is asked to accept or decline a call that is already interrupted, which is meaningless. Removing the callback when PidginMedia? is disposed prevents this dialog from being shown. Instead, particular protocol plugin should probably report to the user that some error occured on the call initialization.

Also, pidgin_request_timeout_cb then uses gtkmedia PidginMedia? structure that was already disposed, so it should not be called anyway.

Attachments (1)

pidgin_media_remove_request_timeout_cb_on_dispose.patch (285 bytes) - added by haakon 9 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 9 years ago by Robby

  • Milestone set to Patches Needing Review

comment:2 Changed 9 years ago by darkrain42

Looks correct to me.

comment:3 follow-up: Changed 9 years ago by darkrain42

haakon, name and email for credit, please

comment:4 in reply to: ↑ 3 Changed 9 years ago by haakon

Replying to darkrain42: Please credit me as Jakub Adam jakub.adam(at)

comment:5 Changed 9 years ago by darkrain42

  • Milestone changed from Patches Needing Review to 2.7.6
  • Version changed from 2.7.4 to 2.7.5

comment:6 Changed 9 years ago by jakub.adam@…

  • Resolution set to fixed
  • Status changed from new to closed

(In f34878b425fc3e5501d82254e87d1d9271470428):
pidgin: Remove a timeout when destroying this object to avoid a use-after-free

Patch from Jakub "haakon" Adam. Closes #12806

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!