From gsimpson@mail.chilisystems.net  Wed Sep  7 16:36:36 2005
Return-Path: <gsimpson@mail.chilisystems.net>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 9BEEC16A41F
	for <FreeBSD-gnats-submit@freebsd.org>; Wed,  7 Sep 2005 16:36:36 +0000 (GMT)
	(envelope-from gsimpson@mail.chilisystems.net)
Received: from mail.chilisystems.net (mail.chilisystems.net [216.47.168.82])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 3211343D46
	for <FreeBSD-gnats-submit@freebsd.org>; Wed,  7 Sep 2005 16:36:36 +0000 (GMT)
	(envelope-from gsimpson@mail.chilisystems.net)
Received: from mail.chilisystems.net (localhost [127.0.0.1])
	by mail.chilisystems.net (8.12.5/8.12.5) with ESMTP id j87GaZoa036904
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 7 Sep 2005 12:36:35 -0400 (EDT)
Received: (from gsimpson@localhost)
	by mail.chilisystems.net (8.12.5/8.12.5/Submit) id j87GaZwY036903;
	Wed, 7 Sep 2005 12:36:35 -0400 (EDT)
Message-Id: <200509071636.j87GaZwY036903@mail.chilisystems.net>
Date: Wed, 7 Sep 2005 12:36:35 -0400 (EDT)
From: Adam Jette <jettea46@yahoo.com>
Reply-To: Adam Jette <jettea46@yahoo.com>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: [maintainer-update] openradius .9.10 - fatal error amd64
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         85839
>Category:       ports
>Synopsis:       [maintainer-update] openradius .9.10 - fatal error amd64
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 07 16:40:05 GMT 2005
>Closed-Date:    Thu Sep 08 08:21:54 GMT 2005
>Last-Modified:  Thu Sep 08 08:21:54 GMT 2005
>Originator:     Adam Jette
>Release:        FreeBSD 4.11-RELEASE i386
>Organization:
>Environment:
System: FreeBSD 


	
>Description:
	I totally blew the last problem report, #85837, sorry. Joerg Wunsch discovered an error in openradius when run in FreeBSD under amd64 that causes it to core dump constantly. He has fixed this error with a patch and I'm submitting it for him until openradius fixes their code.
>How-To-Repeat:
	
>Fix:
B

	

--- openradius.patch begins here ---
diff -ruN openradius.bak/files/patch-ringbuf openradius/files/patch-ringbuf
--- openradius.bak/files/patch-ringbuf	Wed Dec 31 19:00:00 1969
+++ openradius/files/patch-ringbuf	Wed Sep  7 11:31:47 2005
@@ -0,0 +1,62 @@
+--- common/ringbuf.c.orig	Mon Feb 14 16:10:51 2005
++++ common/ringbuf.c	Tue Aug 30 13:55:42 2005
+@@ -355,7 +355,7 @@
+ ssize_t ring_count(RING *r, RINGCNTFUNC func, ...)
+ {
+ 	va_list ap;
+-	ssize_t len, ret;
++	ssize_t len, ret = 0;
+ 
+ 	len = ring_maxget(r);
+ 
+@@ -363,37 +363,41 @@
+ 
+ 		/* There is data available */
+ 
+-		va_start(ap, func);
+-
+ 		if (r->r + len <= r->size) {
+ 
+ 			/* Message ends before end of buffer */
+ 
+ 			/* peek at single part, return whatever the
+ 			   closure returns. */
+-			return func(r->buf + r->r, len, 0, ap);
++			va_start(ap, func);
++			ret = func(r->buf + r->r, len, 0, ap);
++			va_end(ap);
+ 		}
+ 		else {
+ 
+ 			/* Message doesn't end before end of buffer */
+ 
+ 			/* peek at first part, till end of buffer */
++			va_start(ap, func);
+ 			ret = func(r->buf + r->r, r->size - r->r, 0, ap);
++			va_end(ap);
+ 
+ 			if (ret < r->size - r->r) {
+ 				/* Satisfied by first part; return whatever
+ 				   the closure gave us. */
+-				return ret;
+ 			}
+-
+-			/* peek at rest, from start of buffer */
+-			return ret + func(r->buf, len - (r->size - r->r), 
+-					  ret, ap);
++			else {
++				/* peek at rest, from start of buffer */
++				va_start(ap, func);
++				ret += func(r->buf, len - (r->size - r->r), 
++					    ret, ap);
++				va_end(ap);
++			}
+ 		}
+ 	}
+ 
+ 	/* No data available, return 0. */
+-	return 0;
++	return ret;
+ }
+ 
+ 
--- openradius.patch ends here ---


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: krion 
State-Changed-When: Thu Sep 8 08:21:47 GMT 2005 
State-Changed-Why:  
Committed, thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=85839 
>Unformatted:
