Subject: pkg/19263: libartsdsp: infinite recursion in access()
To: None <gnats-bugs@gnats.netbsd.org>
From: None <ingolf-arts@steinba.ch>
List: netbsd-bugs
Date: 12/04/2002 04:56:36
>Number:         19263
>Category:       pkg
>Synopsis:       libartsdsp: infinite recursion in access()
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Dec 04 04:57:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Ingolf Steinbach
>Release:        NetBSD 1.6
>Organization:
none
>Environment:
System: NetBSD helios 1.6 NetBSD 1.6 (GENERIC) #3: Fri Nov 1 02:27:02 CET 2002 ingolf@helios:/usr/obj/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386

relatively current pkgsrc
>Description:
From an xanim.core I found out that at least in some cases,
access() as found in libartsdsp.so (audio/arts package, source file
artsc/artsdsp.c) can enter infinite recursion. Unfortunately I do
not have the file which was played by xanim any more.
I suspect that patch-ab in audio/arts is the culprit: the
dlsym() call seems to find the "access" symbol provided by
the libartsdsp.so itself. The libartsdsp.so access() function
then calls the function found by dlsym() (i.e. it calls itself).
>How-To-Repeat:
The bug showed up while playing an animation with xanim. Unfortunately
I no longer have this file. But probably some code analysis (especially
of the patch-ab in the audio/arts package) is enough to locate the
reason for the problem.
>Fix:

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