summaryrefslogtreecommitdiff
path: root/chat
diff options
context:
space:
mode:
authormrg <mrg>2010-08-12 04:02:28 +0000
committermrg <mrg>2010-08-12 04:02:28 +0000
commite37c8e85a9cb778843e4103519f1259e84aa1333 (patch)
tree0bfa0862043d7343ccfcad665be0ca60fed82da6 /chat
parenta14bc53093bd0796fbae40f983f00250fd0b7d95 (diff)
downloadpkgsrc-e37c8e85a9cb778843e4103519f1259e84aa1333.tar.gz
avoid accessing arrays out of bounds. should fix build isses on freebsd8.
Diffstat (limited to 'chat')
-rw-r--r--chat/ircII/Makefile3
-rw-r--r--chat/ircII/distinfo4
-rw-r--r--chat/ircII/patches/patch-aa48
-rw-r--r--chat/ircII/patches/patch-ab315
4 files changed, 368 insertions, 2 deletions
diff --git a/chat/ircII/Makefile b/chat/ircII/Makefile
index fb9a5b8ce4a..c65d1c0a17f 100644
--- a/chat/ircII/Makefile
+++ b/chat/ircII/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.54 2010/03/30 10:29:40 tron Exp $
+# $NetBSD: Makefile,v 1.55 2010/08/12 04:02:28 mrg Exp $
DISTNAME= ircii-${VERS}
PKGNAME= ircII-${VERS}
+PKGREVISION= 1
CATEGORIES= chat
MASTER_SITES= ftp://ircii.warped.com/pub/ircII/ \
http://ircii.warped.com/pub/ircII/
diff --git a/chat/ircII/distinfo b/chat/ircII/distinfo
index 12aaa4eb83a..30db585b25f 100644
--- a/chat/ircII/distinfo
+++ b/chat/ircII/distinfo
@@ -1,7 +1,9 @@
-$NetBSD: distinfo,v 1.31 2009/02/18 10:22:53 tron Exp $
+$NetBSD: distinfo,v 1.32 2010/08/12 04:02:28 mrg Exp $
SHA1 (ircii-20081115.tar.bz2) = 253f16e734483eda484f6d629d2a5858aded6a6e
RMD160 (ircii-20081115.tar.bz2) = 78b83979e52c99f5b95302cce743ef0f622bcbb0
Size (ircii-20081115.tar.bz2) = 565286 bytes
+SHA1 (patch-aa) = f253835c49e8047c5952bec44c23bec3b0e89c91
+SHA1 (patch-ab) = dfead7978f3efa1b25c7e81054ff8f666069a3d5
SHA1 (patch-ac) = c77444f1fbd089cb7ef9de26224db4a13fc03f25
SHA1 (patch-ad) = a8da3adea3b7c61d453e5e5e9f53024b8e1f128f
diff --git a/chat/ircII/patches/patch-aa b/chat/ircII/patches/patch-aa
new file mode 100644
index 00000000000..c7eb09e5633
--- /dev/null
+++ b/chat/ircII/patches/patch-aa
@@ -0,0 +1,48 @@
+$NetBSD: patch-aa,v 1.7 2010/08/12 04:02:28 mrg Exp $
+
+Index: source/mkmksiginc.pl
+===================================================================
+RCS file: /home/cvs/ircii/source/mkmksiginc.pl,v
+retrieving revision 1.6
+retrieving revision 1.9
+diff -p -u -r1.6 -r1.9
+--- source/mkmksiginc.pl 16 Feb 2004 09:55:53 -0000 1.6
++++ source/mkmksiginc.pl 12 Aug 2010 03:50:39 -0000 1.9
+@@ -46,8 +46,8 @@ IRCII_RCSID("@(#)$eterna$");
+ #define NSIG 64
+ #endif
+
+-#define MAXSIG NSIG+1
+-char *signames[MAXSIG];
++#define MY_MAXSIG NSIG+1
++char *signames[MY_MAXSIG];
+
+ int main(int, char *[], char *[]);
+ int
+@@ -59,7 +59,7 @@ main(argc, argv, envp)
+ int i;
+
+ signames[0] = "ZERO";
+- for (i = 1; i < MAXSIG; i++);
++ for (i = 1; i < MY_MAXSIG; i++)
+ signames[i] = 0;
+
+ __eop1__
+@@ -69,7 +69,7 @@ sub main {
+ print $part_one;
+ while ($_ = <DATA>) {
+ chomp;
+- print "#ifdef SIG$_\n";
++ print "#if defined(SIG$_) && SIG$_ < MY_MAXSIG\n";
+ print "\tsignames[SIG$_] = \"$_\";\n";
+ print "#endif\n\n";
+ }
+@@ -79,7 +79,7 @@ sub main {
+ $part_two = <<'__eop2__';
+ printf("int max_signo = %d;\n", NSIG);
+ puts("char *signals[] = { ");
+- for (i = 0; i < MAXSIG; i++)
++ for (i = 0; i < MY_MAXSIG; i++)
+ if (signames[i])
+ printf("\"%s\", ", signames[i]);
+ else
diff --git a/chat/ircII/patches/patch-ab b/chat/ircII/patches/patch-ab
new file mode 100644
index 00000000000..76a010dea0a
--- /dev/null
+++ b/chat/ircII/patches/patch-ab
@@ -0,0 +1,315 @@
+$NetBSD: patch-ab,v 1.9 2010/08/12 04:02:28 mrg Exp $
+
+--- source/mksiginc.c.orig 2004-02-16 02:00:58.000000000 -0800
++++ source/mksiginc.c 2010-08-11 20:57:26.000000000 -0700
+@@ -39,8 +39,8 @@
+ #define NSIG 64
+ #endif
+
+-#define MAXSIG NSIG+1
+-char *signames[MAXSIG];
++#define MY_MAXSIG NSIG+1
++char *signames[MY_MAXSIG];
+
+ int main(int, char *[], char *[]);
+ int
+@@ -52,240 +52,240 @@
+ int i;
+
+ signames[0] = "ZERO";
+- for (i = 1; i < MAXSIG; i++);
++ for (i = 1; i < MY_MAXSIG; i++)
+ signames[i] = 0;
+
+-#ifdef SIGABRT
++#if defined(SIGABRT) && SIGABRT < MY_MAXSIG
+ signames[SIGABRT] = "ABRT";
+ #endif
+
+-#ifdef SIGALRM
++#if defined(SIGALRM) && SIGALRM < MY_MAXSIG
+ signames[SIGALRM] = "ALRM";
+ #endif
+
+-#ifdef SIGALRM1
++#if defined(SIGALRM1) && SIGALRM1 < MY_MAXSIG
+ signames[SIGALRM1] = "ALRM1";
+ #endif
+
+-#ifdef SIGBUS
++#if defined(SIGBUS) && SIGBUS < MY_MAXSIG
+ signames[SIGBUS] = "BUS";
+ #endif
+
+-#ifdef SIGCANCEL
++#if defined(SIGCANCEL) && SIGCANCEL < MY_MAXSIG
+ signames[SIGCANCEL] = "CANCEL";
+ #endif
+
+-#ifdef SIGCHLD
++#if defined(SIGCHLD) && SIGCHLD < MY_MAXSIG
+ signames[SIGCHLD] = "CHLD";
+ #endif
+
+-#ifdef SIGCLD
++#if defined(SIGCLD) && SIGCLD < MY_MAXSIG
+ signames[SIGCLD] = "CLD";
+ #endif
+
+-#ifdef SIGCONT
++#if defined(SIGCONT) && SIGCONT < MY_MAXSIG
+ signames[SIGCONT] = "CONT";
+ #endif
+
+-#ifdef SIGDANGER
++#if defined(SIGDANGER) && SIGDANGER < MY_MAXSIG
+ signames[SIGDANGER] = "DANGER";
+ #endif
+
+-#ifdef SIGDIL
++#if defined(SIGDIL) && SIGDIL < MY_MAXSIG
+ signames[SIGDIL] = "DIL";
+ #endif
+
+-#ifdef SIGEMT
++#if defined(SIGEMT) && SIGEMT < MY_MAXSIG
+ signames[SIGEMT] = "EMT";
+ #endif
+
+-#ifdef SIGFPE
++#if defined(SIGFPE) && SIGFPE < MY_MAXSIG
+ signames[SIGFPE] = "FPE";
+ #endif
+
+-#ifdef SIGFREEZE
++#if defined(SIGFREEZE) && SIGFREEZE < MY_MAXSIG
+ signames[SIGFREEZE] = "FREEZE";
+ #endif
+
+-#ifdef SIGGRANT
++#if defined(SIGGRANT) && SIGGRANT < MY_MAXSIG
+ signames[SIGGRANT] = "GRANT";
+ #endif
+
+-#ifdef SIGHUP
++#if defined(SIGHUP) && SIGHUP < MY_MAXSIG
+ signames[SIGHUP] = "HUP";
+ #endif
+
+-#ifdef SIGILL
++#if defined(SIGILL) && SIGILL < MY_MAXSIG
+ signames[SIGILL] = "ILL";
+ #endif
+
+-#ifdef SIGINFO
++#if defined(SIGINFO) && SIGINFO < MY_MAXSIG
+ signames[SIGINFO] = "INFO";
+ #endif
+
+-#ifdef SIGINT
++#if defined(SIGINT) && SIGINT < MY_MAXSIG
+ signames[SIGINT] = "INT";
+ #endif
+
+-#ifdef SIGIO
++#if defined(SIGIO) && SIGIO < MY_MAXSIG
+ signames[SIGIO] = "IO";
+ #endif
+
+-#ifdef SIGIOT
++#if defined(SIGIOT) && SIGIOT < MY_MAXSIG
+ signames[SIGIOT] = "IOT";
+ #endif
+
+-#ifdef SIGKAP
++#if defined(SIGKAP) && SIGKAP < MY_MAXSIG
+ signames[SIGKAP] = "KAP";
+ #endif
+
+-#ifdef SIGKILL
++#if defined(SIGKILL) && SIGKILL < MY_MAXSIG
+ signames[SIGKILL] = "KILL";
+ #endif
+
+-#ifdef SIGKILLTHR
++#if defined(SIGKILLTHR) && SIGKILLTHR < MY_MAXSIG
+ signames[SIGKILLTHR] = "KILLTHR";
+ #endif
+
+-#ifdef SIGLOST
++#if defined(SIGLOST) && SIGLOST < MY_MAXSIG
+ signames[SIGLOST] = "LOST";
+ #endif
+
+-#ifdef SIGLWP
++#if defined(SIGLWP) && SIGLWP < MY_MAXSIG
+ signames[SIGLWP] = "LWP";
+ #endif
+
+-#ifdef SIGMIGRATE
++#if defined(SIGMIGRATE) && SIGMIGRATE < MY_MAXSIG
+ signames[SIGMIGRATE] = "MIGRATE";
+ #endif
+
+-#ifdef SIGMSG
++#if defined(SIGMSG) && SIGMSG < MY_MAXSIG
+ signames[SIGMSG] = "MSG";
+ #endif
+
+-#ifdef SIGPIPE
++#if defined(SIGPIPE) && SIGPIPE < MY_MAXSIG
+ signames[SIGPIPE] = "PIPE";
+ #endif
+
+-#ifdef SIGPOLL
++#if defined(SIGPOLL) && SIGPOLL < MY_MAXSIG
+ signames[SIGPOLL] = "POLL";
+ #endif
+
+-#ifdef SIGPRE
++#if defined(SIGPRE) && SIGPRE < MY_MAXSIG
+ signames[SIGPRE] = "PRE";
+ #endif
+
+-#ifdef SIGPROF
++#if defined(SIGPROF) && SIGPROF < MY_MAXSIG
+ signames[SIGPROF] = "PROF";
+ #endif
+
+-#ifdef SIGPWR
++#if defined(SIGPWR) && SIGPWR < MY_MAXSIG
+ signames[SIGPWR] = "PWR";
+ #endif
+
+-#ifdef SIGQUIT
++#if defined(SIGQUIT) && SIGQUIT < MY_MAXSIG
+ signames[SIGQUIT] = "QUIT";
+ #endif
+
+-#ifdef SIGRETRACT
++#if defined(SIGRETRACT) && SIGRETRACT < MY_MAXSIG
+ signames[SIGRETRACT] = "RETRACT";
+ #endif
+
+-#ifdef SIGRTMAX
++#if defined(SIGRTMAX) && SIGRTMAX < MY_MAXSIG
+ signames[SIGRTMAX] = "RTMAX";
+ #endif
+
+-#ifdef SIGRTMIN
++#if defined(SIGRTMIN) && SIGRTMIN < MY_MAXSIG
+ signames[SIGRTMIN] = "RTMIN";
+ #endif
+
+-#ifdef SIGSAK
++#if defined(SIGSAK) && SIGSAK < MY_MAXSIG
+ signames[SIGSAK] = "SAK";
+ #endif
+
+-#ifdef SIGSEGV
++#if defined(SIGSEGV) && SIGSEGV < MY_MAXSIG
+ signames[SIGSEGV] = "SEGV";
+ #endif
+
+-#ifdef SIGSOUND
++#if defined(SIGSOUND) && SIGSOUND < MY_MAXSIG
+ signames[SIGSOUND] = "SOUND";
+ #endif
+
+-#ifdef SIGSTOP
++#if defined(SIGSTOP) && SIGSTOP < MY_MAXSIG
+ signames[SIGSTOP] = "STOP";
+ #endif
+
+-#ifdef SIGSYS
++#if defined(SIGSYS) && SIGSYS < MY_MAXSIG
+ signames[SIGSYS] = "SYS";
+ #endif
+
+-#ifdef SIGTERM
++#if defined(SIGTERM) && SIGTERM < MY_MAXSIG
+ signames[SIGTERM] = "TERM";
+ #endif
+
+-#ifdef SIGTHAW
++#if defined(SIGTHAW) && SIGTHAW < MY_MAXSIG
+ signames[SIGTHAW] = "THAW";
+ #endif
+
+-#ifdef SIGTRAP
++#if defined(SIGTRAP) && SIGTRAP < MY_MAXSIG
+ signames[SIGTRAP] = "TRAP";
+ #endif
+
+-#ifdef SIGTSTP
++#if defined(SIGTSTP) && SIGTSTP < MY_MAXSIG
+ signames[SIGTSTP] = "TSTP";
+ #endif
+
+-#ifdef SIGTTIN
++#if defined(SIGTTIN) && SIGTTIN < MY_MAXSIG
+ signames[SIGTTIN] = "TTIN";
+ #endif
+
+-#ifdef SIGTTOU
++#if defined(SIGTTOU) && SIGTTOU < MY_MAXSIG
+ signames[SIGTTOU] = "TTOU";
+ #endif
+
+-#ifdef SIGURG
++#if defined(SIGURG) && SIGURG < MY_MAXSIG
+ signames[SIGURG] = "URG";
+ #endif
+
+-#ifdef SIGUSR1
++#if defined(SIGUSR1) && SIGUSR1 < MY_MAXSIG
+ signames[SIGUSR1] = "USR1";
+ #endif
+
+-#ifdef SIGUSR2
++#if defined(SIGUSR2) && SIGUSR2 < MY_MAXSIG
+ signames[SIGUSR2] = "USR2";
+ #endif
+
+-#ifdef SIGVIRT
++#if defined(SIGVIRT) && SIGVIRT < MY_MAXSIG
+ signames[SIGVIRT] = "VIRT";
+ #endif
+
+-#ifdef SIGVTALRM
++#if defined(SIGVTALRM) && SIGVTALRM < MY_MAXSIG
+ signames[SIGVTALRM] = "VTALRM";
+ #endif
+
+-#ifdef SIGWAITING
++#if defined(SIGWAITING) && SIGWAITING < MY_MAXSIG
+ signames[SIGWAITING] = "WAITING";
+ #endif
+
+-#ifdef SIGWINCH
++#if defined(SIGWINCH) && SIGWINCH < MY_MAXSIG
+ signames[SIGWINCH] = "WINCH";
+ #endif
+
+-#ifdef SIGWINDOW
++#if defined(SIGWINDOW) && SIGWINDOW < MY_MAXSIG
+ signames[SIGWINDOW] = "WINDOW";
+ #endif
+
+-#ifdef SIGXCPU
++#if defined(SIGXCPU) && SIGXCPU < MY_MAXSIG
+ signames[SIGXCPU] = "XCPU";
+ #endif
+
+-#ifdef SIGXFSZ
++#if defined(SIGXFSZ) && SIGXFSZ < MY_MAXSIG
+ signames[SIGXFSZ] = "XFSZ";
+ #endif
+
+ printf("int max_signo = %d;\n", NSIG);
+ puts("char *signals[] = { ");
+- for (i = 0; i < MAXSIG; i++)
++ for (i = 0; i < MY_MAXSIG; i++)
+ if (signames[i])
+ printf("\"%s\", ", signames[i]);
+ else