tdbc::mysql

View Ticket
Login
Ticket Hash: 1e62e46d271e6375c50c434cb22a2324b1951295
Title: Result set leak
Status: Closed Type: Code_Defect
Severity: Severe Priority: Immediate
Subsystem: not_specified Resolution: Fixed
Last Modified: 2020-02-07 15:12:55
Version Found In: 1.1.1 (latest trunk)
User Comments:
anonymous added on 2020-02-07 13:52:22:
The DecrResultSetRefCount macro post-decrements the refcount when comparing to 0, so the test never succeeds (unless there is some bug that decrements result sets below 0).  If the test:

if ((rs->refCount--) <= 0) {

is changed to match the tdbcpostgres version:

if (--(rs->refCount) <= 0) {

Then the result sets are properly deleted (and the statement / connection structures' refcounts properly managed)

anonymous (claiming to be [email protected]) added on 2020-02-07 13:57:20:
Similar issues affect the statement and connectiondata DecrRefCount macros, but those compare against <= 1 to compensate.  Perhaps they should all be changed consistently?

jan.nijtmans added on 2020-02-07 15:12:55:

Fixed in [9e11d6fc7b9a0370]

Thanks for the report!