When selecting data from a large dataset (>1000 records returned) I get a SEGFAULT.
Traceback:
SQL> SELECT FNAME, LNAME FROM PATIENTS
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1211259200 (LWP 5770)]
0xb79cdf41 in mdb_read_indices () from /usr/lib/libmdbodbc.so.0
(gdb) backtrace
#0 0xb79cdf41 in mdb_read_indices () from /usr/lib/libmdbodbc.so.0
#1 0xb79c9d48 in mdb_sql_select () from /usr/lib/libmdbodbc.so.0
#2 0xb79cb285 in yyparse () from /usr/lib/libmdbodbc.so.0
#3 0xb79c7ea3 in ?? () from /usr/lib/libmdbodbc.so.0
#4 0xb79c7fae in SQLExecute () from /usr/lib/libmdbodbc.so.0
#5 0xb7eb24e7 in SQLExecute () from /usr/lib/libodbc.so.1
#6 0x08049d4b in ?? ()
#7 0x0804a83d in ?? ()
#8 0xb7d09f70 in __libc_start_main () from /lib/libc.so.6
#9 0x08048dc1 in ?? ()
I think, I have solved this problem by replacing line 238 in libmdb/data.c.
Original Line: *col->len_ptr = ret;
Replaced Line: col->len_ptr = &ret;
Now it works fine for me.
DrG