mirror of
https://github.com/irssi/irssi.git
synced 2026-08-11 21:00:40 +02:00
During shutdown, query_destroy() fires before dcc_close(), leaving the DCC record pointing at a freed window. dcc_closed() then calls printformat() with NULL as the window item, which causes a NULL dereference in store_lineinfo_tmp() at textbuffer-formats.c:148. Fix by looking up the query window and passing its name string to printformat(), falling back to NULL which safely prints to the server window. Also removes dead code where sender was allocated but never used in the printformat call. Reproducer: /dcc chat <nick>, then /quit Tested against both a local server and irc.libera.chat. |
||
|---|---|---|
| .. | ||
| dcc | ||
| notifylist | ||
| fe-cap.c | ||
| fe-common-irc.c | ||
| fe-ctcp.c | ||
| fe-events-numeric.c | ||
| fe-events.c | ||
| fe-irc-channels.c | ||
| fe-irc-channels.h | ||
| fe-irc-commands.c | ||
| fe-irc-messages.c | ||
| fe-irc-queries.c | ||
| fe-irc-server.c | ||
| fe-irc-server.h | ||
| fe-ircnet.c | ||
| fe-modes.c | ||
| fe-netjoin.c | ||
| fe-netsplit.c | ||
| fe-sasl.c | ||
| fe-whois.c | ||
| irc-completion.c | ||
| meson.build | ||
| module-formats.c | ||
| module-formats.h | ||
| module.h | ||