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.

_______________________________________________
autofs mailing list
autofs@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/autofs

Reply via email to