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

Reply via email to