- Description:
-
~ Sometimes we wrap those in other streams, sometimes not. This makes prpls
~ Sometimes we wrap those in other streams, sometimes not. This makes prpls inconsistent with each other on whether they unref their
GInputStream
/GOutputStream
in prpl data during shutdown. Thus, ref it when it's not wrapped, so we can always do an unref in the cleanup.- inconsistent with each other on whether they unref their - GInputStream
/GOutputStream
in prpl data. Thus, ref it when it's not- wrapped, so we can always do an unref in the cleanup. ~ This fixes a read-after-free Jabber shutdown, and presumably one in Novell,
~ This fixes a read-after-free Jabber shutdown, and presumably one in Novell, since it appears to do the same thing.
- since it appears to do the same thing.
Always ref result of g_io_stream_get_{input,output}_stream.
Review Request #558 — Created March 5, 2021 and submitted
Sometimes we wrap those in other streams, sometimes not. This makes prpls inconsistent with each other on whether they unref their
GInputStream
/GOutputStream
in prpl data during shutdown. Thus, ref it when it's not wrapped, so we can always do an unref in the cleanup.This fixes a read-after-free Jabber shutdown, and presumably one in Novell, since it appears to do the same thing.
Ran with valgrind and see no invalid reads in jabber shutdown. Novell was not tested, but seems similar.