Clint Adams pisze: > On Sun, Oct 18, 2009 at 08:48:45PM +0200, Robert Luberda wrote: >> [36]/tmp/b> pwd >> /tmp/b >> [37]/tmp/b> ls -la /tmp/b >> lrwxrwxrwx 1 robert robert 20 10-18 20:34 /tmp/b -> aaaaaaaaaaaaaaaaaaaa >> [38]/tmp/b> posh >> *** glibc detected *** posh: free(): invalid next size (fast): >> 0x090db8c0 *** > > I can't reproduce this on amd64. > > rob...@pergolesi:~$ p=`perl -e '$a=("a"x255)."/"; print "$a"x6'` rob...@pergolesi:~$ mkdir -p $p
rob...@pergolesi:~$ ln -s $p b rob...@pergolesi:~$ cd b rob...@pergolesi:~/b$ ~/posh $ exit *** glibc detected *** /home/robert/posh: free(): invalid next size (normal): 0x0000000000ee5450 *** ======= Backtrace: ========= /lib/libc.so.6[0x7fb73884b6c8] /lib/libc.so.6(cfree+0x76)[0x7fb73884d1d6] /home/robert/posh[0x40c069] /home/robert/posh[0x411e3b] /home/robert/posh[0x412302] /home/robert/posh[0x4123ef] /home/robert/posh[0x412645] /home/robert/posh[0x40cdfe] /home/robert/posh[0x40d68c] /lib/libc.so.6(__libc_start_main+0xe6)[0x7fb7387f85c6] /home/robert/posh[0x401f29] ======= Memory map: ======== 00400000-0041f000 r-xp 00000000 09:03 1772632 /home/robert/posh 0061e000-00620000 rw-p 0001e000 09:03 1772632 /home/robert/posh 00ee0000-00f01000 rw-p 00ee0000 00:00 0 [heap] 7fb734000000-7fb734021000 rw-p 7fb734000000 00:00 0 7fb734021000-7fb738000000 ---p 7fb734021000 00:00 0 7fb7385c4000-7fb7385da000 r-xp 00000000 09:03 3915816 /lib/libgcc_s.so.1 7fb7385da000-7fb7387d9000 ---p 00016000 09:03 3915816 /lib/libgcc_s.so.1 7fb7387d9000-7fb7387da000 rw-p 00015000 09:03 3915816 /lib/libgcc_s.so.1 7fb7387da000-7fb738921000 r-xp 00000000 09:03 3919581 /lib/libc-2.9.so 7fb738921000-7fb738b21000 ---p 00147000 09:03 3919581 /lib/libc-2.9.so 7fb738b21000-7fb738b25000 r--p 00147000 09:03 3919581 /lib/libc-2.9.so 7fb738b25000-7fb738b26000 rw-p 0014b000 09:03 3919581 /lib/libc-2.9.so 7fb738b26000-7fb738b2b000 rw-p 7fb738b26000 00:00 0 7fb738b2b000-7fb738b48000 r-xp 00000000 09:03 3919575 /lib/ld-2.9.so 7fb738d30000-7fb738d32000 rw-p 7fb738d30000 00:00 0 7fb738d44000-7fb738d47000 rw-p 7fb738d44000 00:00 0 7fb738d47000-7fb738d48000 r--p 0001c000 09:03 3919575 /lib/ld-2.9.so 7fb738d48000-7fb738d49000 rw-p 0001d000 09:03 3919575 /lib/ld-2.9.so 7fff40d33000-7fff40d48000 rw-p 7ffffffea000 00:00 0 [stack] 7fff40dfe000-7fff40dff000 r-xp 7fff40dfe000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] Aborted This probably is caused by the following code from compat.c, which assumes that length of a expanded path won't be greater than twice length of path. #ifndef HAVE_CANONICALIZE_FILE_NAME char *canonicalize_file_name (const char *name) { char *buf = malloc(strlen(name)*2); return realpath(name, buf); } #endif /* HAVE_CANONICALIZE_FILE_NAME */ Regards, robert -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org