segmentation fault

Oliver Block
2006-11-11T01:21:56Z

Hello,

a program causes a segmentation fault and I'd like to know if I interpret the
following gdb output correctly (text continues after output):
************************************************************************************
#1 0x4012eb3f in gethostbyname () from /lib/tls/libc.so.6
No symbol table info available.
#2 0x08049312 in http_send_recv (hostname=0x804a340 "www.oliver-block.eu",
request=0x804b030 "GET /checkip.php HTTP/1.0\r\nHost:
www.oliver-block.eu\r\n\r\n") at ddnscli.c:168
hptr = (struct hostent *) 0x804b068
sptr = (struct servent *) 0x804b028
sin = {sin_family = 2, sin_port = 0, sin_addr = {s_addr = 0},
sin_zero = "\000\000\000\000\000\000\000"}
s = 134514323
retval = 45
n = 0
buflen = 1024
#3 0x080498ee in get_ip (qry=0x804b008) at ddnscli.c:323
tmp = 0x0
r = 0x804b030 "GET /checkip.php HTTP/1.0\r\nHost:
www.oliver-block.eu\r\n\r\n"
#4 0x080499fa in main (argc=3, argv=0xbffff1a4) at ddnscli.c:398
option = 8 '\b'
q = (struct query *) 0x804b008
(gdb) p sizeof(struct servent)
$1 = 16
****************************************************************************
When I extract

from #2:
sptr = (struct servent *) 0x804b028

from #4:
r = 0x804b030 "GET /checkip.php HTTP/1.0\r\nHost: www.oliver-block.eu\r\n\r\n"

as servent has a size of 16 bytes

804b028 + 16 = 0x804b038

These two variables seem to overlap. Do you agree?

Regards,

Oliver