This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
segmentation fault
- From: Oliver Block <oliver at block-online dot eu>
- To: gdb at sourceware dot org
- Date: Sat, 11 Nov 2006 02:21:41 +0100 (MET)
- Subject: segmentation fault
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