Denys Vlasenko wrote:
> It means that you built your glibc with some weird debugging mode,
> and it converts
>
>     strcpy(array, string);
>
> into some sort of
>
>     strcpy_with_overrun_check(array, sizeof(array), string);
>
> In this case, it blew up despite code was correct.
>
> It also makes all your strcpy's bigger.
>
> Which version of glibc does this? With which configure options
> did you built it?
>   
glibc can't to this, it must be the compiler, maybe with some special 
options.

This would also be consistent with the strace log, which shows that 
libgcc_s is loaded to display the stack trace. If glibc would do it, the 
functions for the backtrace would probably be included in glibc.

Regards
Ralf Friedl

29355 munmap(0xb7f29000, 4096)          = 0
29355 open("/dev/tty", O_RDWR|O_NOCTTY|O_NONBLOCK) = 7
29355 writev(7, [{"*** buffer overflow detected ***"..., 34}, {"./busybox", 9}, 
{" terminated\n", 12}], 3) = 55
29355 open("/etc/ld.so.cache", O_RDONLY) = 8
29355 fstat64(8, {st_mode=S_IFREG|0644, st_size=125457, ...}) = 0
29355 mmap2(NULL, 125457, PROT_READ, MAP_PRIVATE, 8, 0) = 0xb7f0b000
29355 close(8)                          = 0
29355 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
29355 open("/lib/libgcc_s.so.1", O_RDONLY) = 8


_______________________________________________
busybox mailing list
busybox@busybox.net
http://busybox.net/cgi-bin/mailman/listinfo/busybox

Reply via email to