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

Reply via email to