Bug #103664 | SQLColAttribute SQL_DESC_TYPE_NAME sporadic junk data | ||
---|---|---|---|
Submitted: | 11 May 2021 19:04 | Modified: | 11 Mar 2022 17:33 |
Reporter: | Farid Zidan (Candidate Quality Contributor) | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | Connector / ODBC | Severity: | S2 (Serious) |
Version: | 8.0.24 ANSI 64-bit | OS: | Windows |
Assigned to: | CPU Architecture: | x86 |
[11 May 2021 19:04]
Farid Zidan
[11 May 2021 19:11]
Farid Zidan
Sample screen shot of junk data comparing table columns to itself
Attachment: mysql_odbc.jpg (image/jpeg, text), 1.31 MiB.
[11 May 2021 19:26]
Farid Zidan
This is tested with the 64-bit version of the driver.
[4 Oct 2021 12:46]
MySQL Verification Team
Hello Farid Zidan, Thank you for the bug report. Could you please provide more information(test case, step by step process along with screenshots) to reproduce this issue at our end? Regards, Ashwini Patil
[4 Oct 2021 15:26]
Farid Zidan
Screen shot and steps by step instructions on how to reproduce are included in the submission of this bug. Please see the bug submission.
[21 Feb 2022 14:34]
MySQL Verification Team
Hello Farid Zidan, Thank you for the details. Imho this is an expected behavior from the odbc. This can be confirmed from the app CompareData. Please see here https://www.zidsoft.com/dbmsnotes.html#mysql Driver myodbc8a.dll has known issue with SQL_DESC_TYPE_NAME Driver may return incorrect type name for resultset columns Issue with SQLColAttribute SQL_DESC_TYPE_NAME where driver memory bug may result in a crash or junk data. Regards, Ashwini Patil
[21 Feb 2022 14:37]
MySQL Verification Team
Please find the screenshot below
Attachment: 103664_test_results.png (image/png, text), 129.90 KiB.
[21 Feb 2022 18:05]
Farid Zidan
So you are saying it is not a bug for the MySQL ODBC driver to return junk data/crash executing SQL_DESC_TYPE_NAME ? Driver should return the correct data type name for resultset columns and not crash nor return junk data. You have a bug in the ODBC driver where the driver is referencing memory that that is no longer there (dangling memory reference). I put the error message in my app to alert user that the current version of MySQL ODBC driver has issues with getting the resultset column data type so user is alerted when see junk data returned by the driver.
[11 Mar 2022 17:20]
Farid Zidan
This is still happening sporadically. The driver is referencing memory that is junk when copying the data type name to the client and driver may crash referencing the memory it is using for the operation. Please see a screen shot showing junk data returned by the driver using the latest 8.00.0028 version of the ODBC driver.
[11 Mar 2022 17:22]
Farid Zidan
Junk type name returned by 8.00.0028 driver screen shot
Attachment: junk type name 2022-03-11 115306.jpg (image/jpeg, text), 522.12 KiB.
[11 Mar 2022 17:25]
Farid Zidan
Please try to reproduce this bug on your side rather than marking the issue as Not a Bug. I am requesting to reopen this bug since it is clearly a bug for the driver to return junk data instead of actual data type name and referencing invalid memory that is invalid.
[11 Mar 2022 17:32]
Farid Zidan
Screen shot 2
Attachment: junk type name Screenshot 2022-03-11 123014.jpg (image/jpeg, text), 580.77 KiB.
[11 Mar 2022 17:33]
Farid Zidan
Added another screen shot showing another occurrence of the bug.