Mon, 12 Sep 2016 08:55:35 -0500
gg: Protect against issues when closing while connecting
Since the GIOStream is cancelled when data is freed, any cancelled
callbacks are called after such data is freed. This patch guards against
cancelled calls by safely returning without accessing any freed data if
the connection has been cancelled (aka closed).
Futhermore, if GG tries to connect and is quickly disconnected,
ggp_tcpsocket_close() is never called. As far as I can tell, it's an
existing bug, but PurpleSockets both work differently when closing and
are closed by the connection if any leak. So the issue wasn't a major
problem. This patch lessens the issue by guarding against it, but it
should be fixed at some point.
|
20218
3ab4aeb23403
applied changes from b5a4f36867889f85c7c9d341c9c295f2f4e51e1d
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
1 | prefix=@prefix@ |
|
3ab4aeb23403
applied changes from b5a4f36867889f85c7c9d341c9c295f2f4e51e1d
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
2 | exec_prefix=@exec_prefix@ |
|
3ab4aeb23403
applied changes from b5a4f36867889f85c7c9d341c9c295f2f4e51e1d
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
3 | libdir=@libdir@ |
|
3ab4aeb23403
applied changes from b5a4f36867889f85c7c9d341c9c295f2f4e51e1d
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
4 | includedir=@includedir@ |
|
21542
be3af6d9f2bf
The order of these variable declarations is important if we want the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
21489
diff
changeset
|
5 | datarootdir=@datarootdir@ |
|
20218
3ab4aeb23403
applied changes from b5a4f36867889f85c7c9d341c9c295f2f4e51e1d
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
6 | datadir=@datadir@ |
|
3ab4aeb23403
applied changes from b5a4f36867889f85c7c9d341c9c295f2f4e51e1d
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
7 | sysconfdir=@sysconfdir@ |
|
3ab4aeb23403
applied changes from b5a4f36867889f85c7c9d341c9c295f2f4e51e1d
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
8 | |
|
3ab4aeb23403
applied changes from b5a4f36867889f85c7c9d341c9c295f2f4e51e1d
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
9 | Name: Finch |
|
3ab4aeb23403
applied changes from b5a4f36867889f85c7c9d341c9c295f2f4e51e1d
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
10 | Description: Finch is an instant messenger application that uses libpurple for protocol support and ncurses (libgnt) for the UI. |
|
3ab4aeb23403
applied changes from b5a4f36867889f85c7c9d341c9c295f2f4e51e1d
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
11 | Version: @VERSION@ |
|
37393
db70ece4c78d
Fix Finch dependency to purple-3
Jorge Villaseñor <salinasv@pidgin.im>
parents:
35891
diff
changeset
|
12 | Requires: gnt purple-3 |
|
20218
3ab4aeb23403
applied changes from b5a4f36867889f85c7c9d341c9c295f2f4e51e1d
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
13 | Cflags: -I${includedir}/finch |
|
35891
1048ba029ac2
win32: get rid of WINVER-like macros. If we need it, define globally. linux: fix pc files and -lapp flag
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
21542
diff
changeset
|
14 | Libs: -L${libdir} -lfinch |