Thu Aug 12 04:02:28 2010 UTC ()
avoid accessing arrays out of bounds.  should fix build isses on freebsd8.


(mrg)
diff -r1.54 -r1.55 pkgsrc/chat/ircII/Makefile
diff -r1.31 -r1.32 pkgsrc/chat/ircII/distinfo
diff -r0 -r1.7 pkgsrc/chat/ircII/patches/patch-aa
diff -r0 -r1.9 pkgsrc/chat/ircII/patches/patch-ab

cvs diff -r1.54 -r1.55 pkgsrc/chat/ircII/Makefile (expand / switch to unified diff)

--- pkgsrc/chat/ircII/Makefile 2010/03/30 10:29:40 1.54
+++ pkgsrc/chat/ircII/Makefile 2010/08/12 04:02:28 1.55
@@ -1,17 +1,18 @@ @@ -1,17 +1,18 @@
1# $NetBSD: Makefile,v 1.54 2010/03/30 10:29:40 tron Exp $ 1# $NetBSD: Makefile,v 1.55 2010/08/12 04:02:28 mrg Exp $
2 2
3DISTNAME= ircii-${VERS} 3DISTNAME= ircii-${VERS}
4PKGNAME= ircII-${VERS} 4PKGNAME= ircII-${VERS}
 5PKGREVISION= 1
5CATEGORIES= chat 6CATEGORIES= chat
6MASTER_SITES= ftp://ircii.warped.com/pub/ircII/ \ 7MASTER_SITES= ftp://ircii.warped.com/pub/ircII/ \
7 http://ircii.warped.com/pub/ircII/ 8 http://ircii.warped.com/pub/ircII/
8EXTRACT_SUFX= .tar.bz2 9EXTRACT_SUFX= .tar.bz2
9 10
10MAINTAINER= pkgsrc-users@NetBSD.org 11MAINTAINER= pkgsrc-users@NetBSD.org
11HOMEPAGE= http://www.eterna.com.au/ircii/ 12HOMEPAGE= http://www.eterna.com.au/ircii/
12COMMENT= The 'Internet Relay Chat' and 'Internet Citizens Band' Client 13COMMENT= The 'Internet Relay Chat' and 'Internet Citizens Band' Client
13LICENSE= modified-bsd 14LICENSE= modified-bsd
14 15
15CONFLICTS= blackened-[0-9]* 16CONFLICTS= blackened-[0-9]*
16 17
17PKG_DESTDIR_SUPPORT= user-destdir 18PKG_DESTDIR_SUPPORT= user-destdir

cvs diff -r1.31 -r1.32 pkgsrc/chat/ircII/distinfo (expand / switch to unified diff)

--- pkgsrc/chat/ircII/distinfo 2009/02/18 10:22:53 1.31
+++ pkgsrc/chat/ircII/distinfo 2010/08/12 04:02:28 1.32
@@ -1,7 +1,9 @@ @@ -1,7 +1,9 @@
1$NetBSD: distinfo,v 1.31 2009/02/18 10:22:53 tron Exp $ 1$NetBSD: distinfo,v 1.32 2010/08/12 04:02:28 mrg Exp $
2 2
3SHA1 (ircii-20081115.tar.bz2) = 253f16e734483eda484f6d629d2a5858aded6a6e 3SHA1 (ircii-20081115.tar.bz2) = 253f16e734483eda484f6d629d2a5858aded6a6e
4RMD160 (ircii-20081115.tar.bz2) = 78b83979e52c99f5b95302cce743ef0f622bcbb0 4RMD160 (ircii-20081115.tar.bz2) = 78b83979e52c99f5b95302cce743ef0f622bcbb0
5Size (ircii-20081115.tar.bz2) = 565286 bytes 5Size (ircii-20081115.tar.bz2) = 565286 bytes
 6SHA1 (patch-aa) = f253835c49e8047c5952bec44c23bec3b0e89c91
 7SHA1 (patch-ab) = dfead7978f3efa1b25c7e81054ff8f666069a3d5
6SHA1 (patch-ac) = c77444f1fbd089cb7ef9de26224db4a13fc03f25 8SHA1 (patch-ac) = c77444f1fbd089cb7ef9de26224db4a13fc03f25
7SHA1 (patch-ad) = a8da3adea3b7c61d453e5e5e9f53024b8e1f128f 9SHA1 (patch-ad) = a8da3adea3b7c61d453e5e5e9f53024b8e1f128f

File Added: pkgsrc/chat/ircII/patches/Attic/patch-aa
$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

File Added: pkgsrc/chat/ircII/patches/Attic/patch-ab
$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