ports/120340: port irc/ircII broken on amd64/7.0R [patch included]

Stefan `Sec` Zehl sec at 42.org
Thu Feb 7 10:10:01 UTC 2008


>Number:         120340
>Category:       ports
>Synopsis:       port irc/ircII broken on amd64/7.0R [patch included]
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Feb 07 10:10:00 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Stefan `Sec` Zehl
>Release:        FreeBSD 7.0-PRERELEASE amd64
>Organization:
>Environment:
System: FreeBSD ice 7.0-PRERELEASE FreeBSD 7.0-PRERELEASE #0: Wed Feb  6 12:55:25 UTC 2008     sec at ice:/usr/obj/usr/src/sys/GENERIC  amd64


	
>Description:

irc/ircII is marked broken on RELENG_7 / amd64 with
"doesn't build"

During the build process "mksiginc" core dumps because of a write outside
allocated memory.

The problem is, that it allocates an array of NSIG entries, but writes to
SIGRTMAX. At least on RELENG_7 / amd64, SIGRTMAX is way bigger than NSIG
so this (correctly) fails.

I fixed this, by increasing the array size to SIGRTMAX. ircII appears to
compile and run without any further problems after this fix.

>How-To-Repeat:
	
>Fix:

put the following patch into irc/ircII/files/patch-amd64

and remove the BROKEN= part from the Makefile :-)

--- source/mksiginc.c.orig      2004-02-16 10:00:58.000000000 +0000
+++ source/mksiginc.c   2008-02-07 09:53:07.000000000 +0000
@@ -39,7 +39,11 @@
 #define NSIG 64
 #endif
 
+#if defined(SIGRTMAX) && (SIGRTMAX > NSIG)
+#define MAXSIG SIGRTMAX+1
+#else
 #define MAXSIG NSIG+1
+#endif
 char *signames[MAXSIG];
 
 int main(int, char *[], char *[]);

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list