Hi,
some weeks I have asked about a possible bug in pSQLODBC driver.
Now I have downloaded the driver source to get a debug version
of the driver.
The problem occurs at the following code line (973) in statement.c:
Code area:
mylog("type = %d and valuepointer here is %p\n", type, value);
if (self->manual_result) {
value = QR_get_value_manual(res, self->currTuple, lf);
mylog("manual_result\n");
} else if (SC_is_fetchcursor(self))
value = QR_get_value_backend(res, lf);
else {
int curt = GIdx2ResultIdx(self->currTuple, self, res);
value = QR_get_value_backend_row(res, curt, lf);
}
mylog("value = '%s'\n", (value == NULL) ? "<NULL>" : value); // CRASH
The pointer value is 0xdddddddd
As for the log messages now I see , that I have forgotten a reload
after the deletion and the driver may not save this state to avoid
such a crash.
I do not know where the pointer comes from, but see this as a hint:
Could this be used for buffer overruns ?
Hope to hear from you :-)
Lothar
---- My home: www.lollisoft.de -----------------------------
Lothar Behrens | Independent: lothar.behrens@gmx.de
Rosmarinstr 3 | My public project:
40235 Düsseldorf | http://sourceforge.net/projects/lbdmf
| -> Need comments, please visit :-)