hi,
i'm using wget 1.7 on a debian ppc system. When i try to get a long filename (77
characters or more) i get a sigsegv.
I don't get this error on a i386 system nor if i route the log to a file.
this is the wget debug:
luggage:~/src/wget17/tmp/src# ./wget -d
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
DEBUG output created by Wget 1.7 on linux-gnu.
parseurl
("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
-> host
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-> opath -> dir -> file -> ndir
newpath: /
Segmentation fault
This is the where from gdb:
Starting program: /root/src/wget17/tmp/src/./wget
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Program received signal SIGSEGV, Segmentation fault.
0xff2e068 in strlen () from /lib/libc.so.6
(gdb) where
#0 0xff2e068 in strlen () from /lib/libc.so.6
#1 0xfefef3c in vfprintf () from /lib/libc.so.6
#2 0xff1f218 in vsnprintf () from /lib/libc.so.6
#3 0x100150f4 in logvprintf (o=4121,
fmt=0x10023a78 "--%s-- %s\n %s => `%s'\n", args=0x7ffff818)
at ../../wget-1.7/src/log.c:345
#4 0x10015260 in logprintf (o=4121, fmt=0x1018 <Address 0x1018 out of bounds>)
at ../../wget-1.7/src/log.c:388
#5 0x10011870 in http_loop (u=0x1003de78, newloc=0x7ffff9d4, dt=0x7ffffca8)
at ../../wget-1.7/src/http.c:1503
#6 0x1001a838 in retrieve_url (origurl=0x1019 <Address 0x1019 out of bounds>,
file=0x7ffffca0, newloc=0x7ffffca4, refurl=0x0, dt=0x7ffffca8)
at ../../wget-1.7/src/retr.c:405
#7 0x100165a4 in main (argc=2147482144, argv=0x7ffffd44)
at ../../wget-1.7/src/main.c:802
i'm a bit stuck here; i don't get the tricks in log.c. Of course i want to send
patches.
If you send me a hint i can look into it deeper.
regards,
Daniel Saakes