[PATCH] Fix for segfault on send message with silc plugin

Skywing <[email protected]> Wed, 26 Mar 2008 15:52:58 -0500
Newsgroups gmane.network.irc.irssi.devel
Message-ID <982D8D05B6407A49AD506E6C3AC8E7D626D7271F89@caralain.haven.nynaeve.net>
This fixes a segfault when using the silc-client-1.1.4 silc client plugin (=
i.e. loadable silc module for irssi and not replacing irc support with silc=
).  Specifically, whenever you tried to send a message, we would segfault i=
n skip_target() due to a null dereference.

Patch is against 0.8.12.

-S

--


diff -ru irssi_orig/src/fe-common/irc/fe-irc-messages.c irssi-0.8.12/src/fe=
-common/irc/fe-irc-messages.c
--- irssi_orig/src/fe-common/irc/fe-irc-messages.c      2007-10-06 04:40:39=
.000000000 -0500
+++ irssi-0.8.12/src/fe-common/irc/fe-irc-messages.c    2008-03-25 21:32:05=
.000000000 -0500
@@ -43,6 +43,9 @@
        int i =3D 0;
        const char *val, *chars;

+       if (!server)
+               return target;
+
        /* Quick check */
        if (server->prefix[(int)(unsigned char)*target] =3D=3D 0)
                return target;