I am using c in linux, when i run main.c i get below error:
* glibc detected /asde/pasc/source/cl/weasdashanges/webasdnges: malloc():
memory corruption: 0x08069098 **
the backtrace from gdb is as follows: its pointing to function dblogin which is strange because i am pretty sure that should not be the problem because i never made changes there.
if ((login = dblogin()) == FAIL) return 0;
and this code was working fine before the changes.
(gdb) backtrace
#0 0x0012d422 in __kernel_vsyscall ()
#1 0x002f7651 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0x002faa82 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0x0032e49d in ?? () from /lib/tls/i686/cmov/libc.so.6
#4 0x00338591 in ?? () from /lib/tls/i686/cmov/libc.so.6
#5 0x0033b395 in ?? () from /lib/tls/i686/cmov/libc.so.6
#6 0x0033c70b in calloc () from /lib/tls/i686/cmov/libc.so.6
#7 0x001f9cd6 in ?? () from /usr/lib/libsybdb.so.5
#8 0x001edd1a in dblogin () from /usr/lib/libsybdb.so.5
#9 0x0804de13 in ?? ()
#10 0x0804e01b in ?? ()
#11 0x0804bf9f in ?? ()
#12 0x002e3bd6 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#13 0x0804a031 in ?? ()
Any ideas on how i can find out whats the specific problem? like a gdb command tells it to break on every write to that location
Use valgrind to find out memory leaks in your program. Also use more your debugger.
If you want to find out how is a particular location overwritten, you could use the watch command of
gdb