cURL / Mailing Lists / curl-users / Single Mail

curl-users

Segmentation fault in storebuffer

From: Marcin Gryszkalis <mg_at_fork.pl>
Date: Sun, 28 Sep 2003 00:41:17 +0200

Hi

I wanted to confirm problems with DNS resolver on 64-bit architectures.
I built 7.10.7 and tried to run 'make tests' but lt-curl dumps core.
(backtrace included below). Anyway - the resolver seems to be broken
on 64-bit Digital Alpha (running FreeBSD 4-stable):

# curl http://localhost
curl: (6) Couldn't resolve host 'localhost'

# curl -v http://127.0.0.1
* Couldn't resolve host '127.0.0.1'
* Closing connection #0
curl: (6) Couldn't resolve host '127.0.0.1'

Here's what gdb says for curl crash.

GNU gdb 4.18 (FreeBSD)
Core was generated by `lt-curl'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /www/curl/curl-7.10.7/lib/.libs/libcurl.so.2...done.
Reading symbols from /usr/lib/libssl.so.3...done.
Reading symbols from /usr/lib/libcrypto.so.3...done.
Reading symbols from /usr/lib/libz.so.2...done.
Reading symbols from /usr/lib/libc.so.4...done.
Reading symbols from /usr/libexec/ld-elf.so.1...done.
#0 0x160094a34 in storebuffer (output=1611211084, data=0x11ff9420) at
mprintf.c:1087
1087 **buffer = (char)output;
(gdb) bt
#0 0x160094a34 in storebuffer (output=1611211084, data=0x11ff9420) at
mprintf.c:1087
#1 0x160093c18 in dprintf_formatf (data=0xffffffffffffffff, stream=0,
format=0x11ffa6e0 "\020",
    ap_save={__base = 0x16003ca84 "\022", __offset = 1611264080, __pad =
1}) at mprintf.c:826
#2 0x160094b28 in curl_msprintf (buffer=0x12005e078 "127.0.0.1",
    format=0x2327 <Address 0x2327 out of bounds>) at mprintf.c:1097
#3 0x160071b2c in create_hostcache_id (server=0x11ffa758 "\016",
port=8, entry_len=0x160072040)
    at hostip.c:153
#4 0x160071d20 in cache_resolv_response (data=0x12004e008,
addr=0x10000000e,
    hostname=0x12003a308 "<£\003 \001", port=537177920) at hostip.c:221
#5 0x160072040 in Curl_resolv (conn=0x12004af48, hostname=0x0, port=14,
entry=0x0)
    at hostip.c:323
#6 0x160089ca4 in CreateConnection (data=0x11ffb000,
in_connect=0x11ffb014, addr=0x16009dbd4,
    async=0x11ffafe0 "\024è\t`\001") at url.c:3003
#7 0x16008a29c in Curl_connect (data=0x12004e008,
in_connect=0x11ffb000, asyncp=0x11ffb014 "")
    at url.c:3183
#8 0x16009dbd4 in Curl_perform (data=0x0) at transfer.c:1929
#9 0x16009e814 in curl_easy_perform (curl=0x11ffb000) at easy.c:258
#10 0x1200088c0 in operate (config=0x120001b18, argc=0,
argv=0x100000006) at main.c:3136
#11 0x120008dbc in main (argc=-1, argv=0x160030001) at main.c:3264

(gdb) p buffer
$1 = (char **) 0x11ffa650
(gdb) p *buffer
$2 = 0x8 <Address 0x8 out of bounds>

-- 
Marcin Gryszkalis 
jid: mg_at_chrome.pl
gg: 2532994
http://fork.pl
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
Received on 2003-09-28