1
0
mirror of https://github.com/irssi/irssi.git synced 2024-12-04 14:46:39 -05:00
Commit Graph

988 Commits

Author SHA1 Message Date
dequis
ade2f87fe5 Fix use after free introduced by the use after free patch 2018-08-24 02:19:42 -03:00
coypu@sdf.org
610ab2dafa Use-after-frees
Hi folks!

I tried clang-static-analyzer on irssi 1.1.1, it seems like it
finds some things. Here's a diff, but there might be more that you would
want to check, or choose to work differently.

(in special-vars.c, ret is commands->data sometime)

I hope it's not too much trouble if reported as a confidential bug.
Thanks.
2018-08-23 14:13:48 +02:00
ailin-nemui
817179a760
Revert "Flag topic as unset if it is zero length" 2018-08-13 14:43:25 +02:00
dequis
b114b11e36 channel_change_topic: change one strlen == 0 to *str == '\0' 2018-07-30 23:45:56 -03:00
Will Storey
15840ac27b If we receive a 0 length topic, record it as unset
Fixes #888.

Previously we showed that there was a topic set when using /topic, just
an empty one. This was different than how we show such topics when
initially joining a channel. Now we say that the topic is unset in both
cases.
2018-07-24 18:45:22 -07:00
Will Storey
0e187cf9cf Fix typo in comment 2018-07-24 18:29:31 -07:00
dequis
af5ee997e7 Add "server cap req" signal, emitted before requesting caps 2018-04-08 01:24:48 -03:00
ailin-nemui
7d99ff05cd
Merge pull request #803 from ailin-nemui/bug-796-test
Postpone server cleanup until after unref
2018-03-20 10:30:01 +01:00
ailin-nemui
c01f6df957
Merge pull request #844 from CatboxParadox/perms
dcc get shouldn't fail when file attrs can't be changed
2018-02-13 11:10:21 +01:00
Nei
b0d9cb33cd Merge branch 'security' into 'master'
Security

See merge request irssi/irssi!34
2018-02-13 09:51:22 +00:00
Staron, Martin
3cbcb4fe85 dcc get shouldn't fail when file attrs can't be changed 2018-02-13 08:15:39 +01:00
ailin-nemui
16912e1a91 restore compat with glib <2.40 2018-02-08 14:41:08 +01:00
ailin-nemui
84f03e0146 do not reuse sasl timeout 2018-02-02 11:43:23 +01:00
LemonBoy
260733475c Accept CAPs with an empty value (KEY=) 2018-01-24 10:55:20 +01:00
LemonBoy
474ee8ee70 Address some minor stylish nits 2018-01-24 10:45:54 +01:00
LemonBoy
fed791ed91 Fix a problem with multiline responses
Do not clear the whole table every time a response is received.
2018-01-07 12:36:21 +01:00
LemonBoy
4b9fcbc15a Nicer error message when a duplicate CAP in LS 2018-01-07 12:36:21 +01:00
LemonBoy
f3a5355648 Match LS instead of checking the first letter only 2018-01-07 12:36:21 +01:00
LemonBoy
6c45ab0493 Command names may be in lower-case
Do not take the string case into account when comparing the command
name.
2018-01-07 12:36:20 +01:00
LemonBoy
c00132ac4c Simplify the code
Early exit, simpler code.
2018-01-07 12:36:20 +01:00
LemonBoy
9160ddaffd Keep processing the CAPs on error
If an invalid CAP is found we keep going by parsing the next one.
2018-01-07 12:36:20 +01:00
LemonBoy
cd107deb46 Prevent a memory leak
When a CAP DEL is received the key/val pair is not stored in the
hashtable at all so just free them when we're done.
2018-01-07 12:36:20 +01:00
LemonBoy
74409aa850 Miscellaneous fixes
Stylistic stuff, please ignore.
2018-01-07 12:36:20 +01:00
LemonBoy
f683e81880 Prevent a NULL pointer deference
Always create the cap_supported table when a CAP event is received.
2018-01-07 12:36:20 +01:00
LemonBoy
432368bdc6 Use strcmp instead of g_strcmp0
There's no need to use the latter.
2018-01-07 12:36:19 +01:00
LemonBoy
cfc8c9f8e2 Properly dispose the GSList chains
We forgot to free the link and the data, oops.
2018-01-07 12:36:19 +01:00
LemonBoy
f4d811ddf5 Handle CAP {ADD,DEL} from cap-notify
This is the last piece of the puzzle.
2018-01-07 12:36:19 +01:00
LemonBoy
8c87766132 Parse multiline responses to CAP LS
The parsing logic isn't too elegant because of the optional parameter
used for signaling if a response has a continuation one.
2018-01-07 12:36:19 +01:00
LemonBoy
57827ca743 Don't free the hash table if there's none
Glib doesn't like that and shows a harmless warning.
2018-01-07 12:36:18 +01:00
LemonBoy
d21706e1cc Factor out the parsing function
This is also needed for CAP NEW and CAP DEL.
2018-01-07 12:36:18 +01:00
LemonBoy
98836f8b7e Parse the K/V form in CAP LS
This is a prerequisite for the IRC v3.2 compliance.
2018-01-07 12:36:18 +01:00
ailin-nemui
e7cce90ec0
Merge pull request #804 from ailin-nemui/patch-1
handle an already used nick different from the one we send
2018-01-07 11:23:42 +01:00
ailin-nemui
3c7185c5ad
Update irc-nicklist.c
move altnick check before the nick correction code
2018-01-05 00:38:54 +01:00
ailin-nemui
c9b3d87eb7 Postpone server cleanup until after unref
Add a new signal, server destroyed, that is supposed to run the clean up
tasks of server disconnected. This is so that some structures will stay
around longer.
2018-01-04 23:04:12 +01:00
ailin-nemui
54d453623d do not record topic change time when sender is blank 2018-01-03 12:45:43 +01:00
ailin-nemui
48e909dde7
Merge pull request #766 from horgh/horgh/mode-parsing
Fix MODE parameter parsing
2017-12-11 23:48:23 +01:00
Will Storey
b0637ad6ea Update NULL comparison style and be C89 compatible 2017-12-02 10:09:52 -08:00
ailin-nemui
b332d448f7 fix comments 2017-11-30 11:15:47 +01:00
Will Storey
1a49787ef2 Revert initializing pointers to NULL
To maintain C89 compatibility
2017-11-27 19:37:11 -08:00
ailin-nemui
02c677f467 use enum 2017-11-10 22:02:36 +01:00
ailin-nemui
b0fa4dd46d show initial nick and name on first start 2017-11-01 15:51:20 +01:00
Will Storey
8843d4f77d Strip : from <trailing> parameters
This is to fix #601. The function used to extract the mode string
assumed that ":" would only occur in a particular spot. This lead to the
possibility that ":" could be treated as part of things like nicknames
or mode arguments, where it should have been stripped as part of
protocol escaping.
2017-10-24 19:51:01 -07:00
Nei
495bdd11cf Merge branch 'fix-16' into 'security'
Prevent a OOB read when parsing IRCNet ! channels

See merge request irssi/irssi!22
2017-10-20 13:23:28 +00:00
Nei
c46bed1e17 Merge branch 'fix-gl-15' into 'security'
Don't proceed with cmd_msg if there was an error splitting msg

See merge request irssi/irssi!21
2017-10-20 15:22:32 +02:00
Nei
3c2ae68073 Merge branch 'fix-dcc' into 'security'
fix dcc

See merge request irssi/irssi!20
2017-10-20 15:22:32 +02:00
Joseph Bisch
0840eaec7b Make split functions return an array with NULL instead of NULL
This avoids undefined behavior in functions that call these split
functions and expect an array back instead of just a NULL pointer.
2017-10-20 15:22:32 +02:00
Nei
f4c8018cfb Merge branch 'fix-gl-13' into 'security'
Fix use after free when channel is destroyed inbetween being synced

See merge request irssi/irssi!19
2017-10-20 15:22:32 +02:00
ailin-nemui
9f0dc4766c fix dcc issue 2017-10-20 15:14:10 +02:00
LemonBoy
45dfe2ba38 Prevent a OOB read when parsing IRCNet ! channels
Make sure the string has enough data.
Fixes #16
2017-10-19 11:17:56 +02:00
Paul Townsend
7b94015f8f Changes based on comments in pull #771. 2017-10-14 17:42:45 +01:00