Added a lock in the
ENV
structure against simultaneous accesses to an environment handle's connection list, in order to avoid memory access issues that might occur when multiple threads share the same environment handle. (Bug #17240611, Bug #69864)
A memory leak occurred in
fetch_varlength_columns()
while callingSQLExecDirect()
, because freeingresult_bind
buffers requiresfield_count
, which was set to “0” whenmysql_stmt_free_result()
was called. This fix freesresult_bind
buffers before callingmysql_stmt_free_result()
. (Bug #17441296)A program using parameter markers might crash with a segmentation fault. To avoid the problem, this fix changes the argument
length
in the functionconvert_c_type2str()
to be a pointer to a long integer. (Bug #17421620, Bug #69733)Memory leaks occurred in
SQLPrepare()
andSQLExecDirect()
whenSQLBindParamater
was used on the SQL statements. This fix frees previous results ofmysql_stmt_result_metadata()
in order to prevent the memory leaks. (Bug #17400483, Bug #70113)The exit condition for a
for
loop instringutil.c
is changed to avoid a possible out-of-bounds error and the associated reports by Valgrind. (Bug #17397596, Bug #64105)Microsoft Visual Studio 2010 crashed when reading rows from any table in Server Explorer with connections to DSNs made by Connector/ODBC. (Bug #17304031, Bug #69950)
When SQL
TIME
data was converted to the C data type ofTIMESTAMP
, if the value of thehour
field is greater than 24, the date fields did not get set to the current date and thefraction
field for seconds did not get set to zero as required by the ODBC specifications. (Bug #17016839, Bug #69545)When trying to create a linked server in Micrsoft SQL Server 2008 to a MySQL server set up with Connector/ODBC as a DSN, the Microsoft SQL Server (if it is a 64-bit version) crashed or the linked server suffered a catastrophic failure (if a 32-bit version of the Microsoft SQL Server is used). (Bug #16604346, Bug #63386)
When reading
TIME
column data using theSQLGetData
method into theSQL_C_TYPE_TIME
datatype, errors occurred when the time string contained more than 6-digits (e.g., 120:53:44). (Bug #16176981, Bug #67793)When called after
SQLPrepare
, the funcitonSQLMoreResults
returnedSQL_ERROR
, instead ofSQL_NO_DATA
as required by the ODBC specification. (Bug #16101282, Bug #67920)Connector/ODBC used the “;” character instead of a null byte (“\0”) to terminate keyword-value pairs in attribute strings. (Bug #15940689, Bug #66548)
When using the Unicode-enabled version of the Connector/ODBC driver to connect to any MySQL server of version 5.5.2 or older, all statements failed with the error message “Server does not support 4-byte encoded UTF8 characters.” (Bug #14838690, Bug #67428)
The configured values of a DSN's parameters overrode the values provided through the connection string, instead of the other way round. (Bug #11760574, Bug #52996)