This is modeless7-8.patch. ---------------------------------------------------------------------------- Modified files: .patches patchlevel.h channel.c Date: Sat, 12 Dec 1998 15:30:29 -0500 To: Carlo Wood From: John Bafford Subject: repeatable ircu crash Hi there,.. I just found a repeatable way to crash ircu. on phoenix.az.*, running u2.10.04.resolv9.nmt.egcs4.tok.pten.tlim4.admin.upper4.whisper3.gipl.modeless7. phoenix.az.us.undernet.org :M07B7eEIKMpRSt I did the following: /topic #macintosh,#mac ShadowIRC 1.0.1 released: I was on both channels, and a third, #macdev. phoenix core dumped. When it came back up, I did it again to confirm, and it cored again. --- John Bafford dshadow@glue.umd.edu http://www.glue.umd.edu/~dshadow -- Thanks John! Here is the fix. Run ---------------------------------------------------------------------------- Index: ircu2/.patches diff -c ircu2/.patches:1.407 ircu2/.patches:1.408 *** ircu2/.patches:1.407 Wed Jan 20 17:54:40 1999 --- ircu2/.patches Wed Jan 20 18:05:57 1999 *************** *** 1 **** ! ircu2.10.04+.resolv7-9.nodns.egcs.config17-18.nmt.doc6-7.msgflags2-3.chroot1-2.egcs1-2.nip.tok.pten.tlim2-3.illegal.tlim3-4.admin.admin1-2.upper3-4.upper4-5.whisper2-3.egcs2-3.egcs3-4.ipcheck.cpp.cpp1-2.acr1.ipcheck1-2.gipl.masks.full.config18-19.modeless5-7.fdsetsize.doc7-8.url.cpp2-3.collapse.space.hashv.findname.findnickserver.inthashnick.nousertarget.findmatchserver.netbsd.hashv1-2.config19-20.common.isperson.config20-21.naming.cpp3-4.bursthack2 --- 1 ---- ! ircu2.10.04+.resolv7-9.nodns.egcs.config17-18.nmt.doc6-7.msgflags2-3.chroot1-2.egcs1-2.nip.tok.pten.tlim2-3.illegal.tlim3-4.admin.admin1-2.upper3-4.upper4-5.whisper2-3.egcs2-3.egcs3-4.ipcheck.cpp.cpp1-2.acr1.ipcheck1-2.gipl.masks.full.config18-19.modeless5-7.fdsetsize.doc7-8.url.cpp2-3.collapse.space.hashv.findname.findnickserver.inthashnick.nousertarget.findmatchserver.netbsd.hashv1-2.config19-20.common.isperson.config20-21.naming.cpp3-4.bursthack2.modeless7-8 Index: ircu2/include/patchlevel.h diff -c ircu2/include/patchlevel.h:1.239 ircu2/include/patchlevel.h:1.240 *** ircu2/include/patchlevel.h:1.239 Wed Jan 20 17:54:41 1999 --- ircu2/include/patchlevel.h Wed Jan 20 18:05:58 1999 *************** *** 149,155 **** \ \ \ ! ".modeless7" /* * Deliberate empty lines --- 149,155 ---- \ \ \ ! ".modeless8" /* * Deliberate empty lines Index: ircu2/ircd/channel.c diff -c ircu2/ircd/channel.c:1.93 ircu2/ircd/channel.c:1.94 *** ircu2/ircd/channel.c:1.93 Wed Jan 20 17:54:42 1999 --- ircu2/ircd/channel.c Wed Jan 20 18:05:59 1999 *************** *** 45,51 **** #include "sprintf_irc.h" #include "querycmds.h" ! RCSTAG_CC("$Id: channel.c,v 1.93 1999/01/21 01:54:42 ircu2_run Exp $"); aChannel *channel = NullChn; --- 45,51 ---- #include "sprintf_irc.h" #include "querycmds.h" ! RCSTAG_CC("$Id: channel.c,v 1.94 1999/01/21 02:05:59 ircu2_run Exp $"); aChannel *channel = NullChn; *************** *** 3694,3703 **** me.name, parv[0], name); continue; } ! if (IsModelessChannel(parv[1])) { sendto_one(sptr, err_str(ERR_CHANOPRIVSNEEDED), me.name, parv[0], chptr->chname); ! return 0; } if (IsLocalChannel(name) && !MyUser(sptr)) continue; --- 3694,3703 ---- me.name, parv[0], name); continue; } ! if (IsModelessChannel(name)) { sendto_one(sptr, err_str(ERR_CHANOPRIVSNEEDED), me.name, parv[0], chptr->chname); ! continue; } if (IsLocalChannel(name) && !MyUser(sptr)) continue;