Hide Forgot
+++ This bug was initially created as a clone of Bug #703567 +++ Description of problem: On a system with nss_db configured in /etc/nsswitch.conf, queries that go through libnss_db cause edquota to crash because the module expects to be calling libc's dirname() function, but ends up attempting to call the global variable named "dirname" that edquota defines (confirmed by running edquota with "$LD_DEBUG=bindings"). Version-Release number of selected component (if applicable): quota-4.00-0.14.pre1.fc16.x86_64 How reproducible: Always Steps to Reproduce: 1. Install nss_db 2. make -C /var/db 3. Add "db" to the beginning of the "passwd", "group", and "shadow" lists in /etc/nsswitch.conf. 4. Run "edquota -f $fs -u $user" for a given mountpoint and user. Actual results: Segfault. Expected results: Text editor opens, as you'd expect. Additional info: Renaming "dirname" or making it static both prevent this from happening. I'm open to changes to how we build nss_db to prevent this there, but it won't help other nsswitch modules which might also be calling this dirname(). ---- RHEL-6.1 (quota-3.17-16.el6.x86_64) affected.
Created attachment 498538 [details] Fix
RHEL-5.7 (quota-3.13-5.el5) is not affected because the code is not compiled with -fPIE gcc option making all exported symbols dynamic.
Accepted by upstream in commit 3ad0b3622cf92989584097787323f00bc7a36c48.
This request was evaluated by Red Hat Product Management for inclusion in the current release of Red Hat Enterprise Linux. Because the affected component is not scheduled to be updated in the current release, Red Hat is unfortunately unable to address this request at this time. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux. If you would like it considered as an exception in the current release, please ask your support representative.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2012-1472.html