The findutils-4.3.2 locate utility dumps core when run as root on
Solaris 10 SPARC:
# gdb /usr/local/bin/locate-4.3.2-dumps-core-as-root
GNU gdb 6.6
...
(gdb) run
Program received signal SIGSEGV, Segmentation fault.
0xff130db0 in strlen () from /lib/libc.so.1
(gdb) where
#0 0xff130db0 in strlen () from /lib/libc.so.1
#1 0xff1963c0 in _ndoprnt () from /lib/libc.so.1
#2 0xff1983d0 in fprintf () from /lib/libc.so.1
#3 0x000185a0 in error ()
#4 0x00014f10 in drop_privs ()
#5 0x00015c88 in main ()
SIGSEGV inside str*() routines is often caused by NULL pointer, and
that is confirmed in this case by dbx, which reports this traceback:
signal SEGV (no mapping at the fault address) in strlen at 0xff130db0
0xff130db0: strlen+0x0050: ld [%o2], %o1
(dbx) where
=>[1] strlen(0x0, 0xfffffaf0, 0x0, 0x2d, 0x0, 0x2b), at 0xff130db0
[2] _ndoprnt(0x37aaa, 0xffbfd4a0, 0xffbfcd19, 0x0, 0x0, 0x0), at
0xff1963b8
[3] _fprintf(0x48c30, 0x37aa8, 0x0, 0x4ff9c, 0x0, 0xff1e8298), at
0xff1983c8
[4] error(0x1, 0x0, 0x376fc, 0x376e0, 0xff312000, 0x3), at 0x18598
[5] drop_privs(0x3, 0xff1ecbc0, 0x4, 0xff312000, 0x0, 0x376e0), at
0x14f08
[6] main(0x1, 0xffbfd5f4, 0xffbfd5fc, 0x48800, 0xff3100c0, 0x3), at
0x15c80
The same executable works fine when run by an ordinary user.
I built findutils-4.3.2 on about 20 flavors of Unix in more than 40
compilation environments, and pretty much all of them passed their
validation tests (but these were run as an ordinary user, not as
root).
The drop_privs() routine in the call stack suggests that something
special is going on for the root user.
As a temporary workaround, I copied a snapshot of our previous
installation (4.2.29) into /usr/local/bin/locate, so I was able to
make a quick temporary patch for the problem without having to rebuild
anything.
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: [EMAIL PROTECTED] -
- 155 S 1400 E RM 233 [EMAIL PROTECTED] [EMAIL
PROTECTED] -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------
_______________________________________________
Bug-findutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-findutils