On Sat, 2008-11-01 at 18:08 +1100, Paul Wankadia wrote: > On Sat, Nov 1, 2008 at 4:08 PM, Ian Kent <[EMAIL PROTECTED]> wrote: > > > Get gdb output with "thr a a bt" > > gdb does not give me any useful output even when I make with DEBUG=1, > so I used valgrind's memcheck instead. > > ==32474== Process terminating with default action of signal 11 > (SIGSEGV): dumping core > ==32474== Bad permissions for mapped region at address 0xFE2FFFFC > ==32474== at 0x4C95507: __errno_location (errno-loc.c:36) > ==32474== by 0x4CBAC2A: vfprintf (vfprintf.c:222) > ==32474== by 0x4CD5EB7: vsprintf (iovsprintf.c:46) > ==32474== by 0x4CC37AA: sprintf (sprintf.c:34) > ==32474== by 0x157E6: lookup_ghost (lookup.c:616) > ==32474== by 0xB74C: mount_autofs_indirect (indirect.c:215) > ==32474== by 0x8718: mount_autofs (automount.c:1068) > ==32474== by 0x9FA7: handle_mounts (automount.c:1556) > ==32474== by 0x4BE7CAB: pthread_start_thread (manager.c:310) > ==32474== by 0x4D39129: clone (clone.S:119) > > daemon/lookup.c: > > 598 me = cache_enumerate(mc, NULL); > 599 while (me) { > ... > 611 fullpath = alloca(strlen(me->key) + > strlen(root) + 3); > 612 if (!fullpath) { > 613 warn(ap->logopt, "failed to > allocate full path"); > 614 goto next; > 615 } > 616 sprintf(fullpath, "%s/%s", root, me->key); > ... > 637 next: > 638 me = cache_enumerate(mc, me); > 639 } > > alloca(3) does not return NULL. After some number of iterations, you > overflow the stack.
Yeah, that's not good use of alloca, I'll fix it. Ian _______________________________________________ autofs mailing list autofs@linux.kernel.org http://linux.kernel.org/mailman/listinfo/autofs