Phil Longstaff writes: > Lines 541/542 of dbd_sqlite3 are dangerous. They free the static char* > errmsg without resetting the pointer to NULL. This will cause line 624 in > dbi_conn_error() to free the pointer again. > I don't know the architecture of libdbi well enough to propose a fix. > Perhaps remove line 542 of dbd_sqlite3.c. Perhaps add a > dbi_conn_clear_error() which frees the pointer and then clears it. >
Hi Phil, thanks for analyzing and reporting this problem. To the best of my knowledge the proper way to handle this is to remove the free() call as libdbi handles the error strings all by itself. I've checked in fixed versions of dbd_sqlite3.c and dbd_sqlite.c which had the same problem. Could you please test the new version and see if it helps? regards, Markus -- Markus Hoenicka [email protected] (Spam-protected email: replace the quadrupeds with "mhoenicka") http://www.mhoenicka.de ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://www.creativitycat.com _______________________________________________ libdbi-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libdbi-devel

