fornwall opened a new issue, #4472: URL: https://github.com/apache/arrow-adbc/issues/4472
### What happened? The FFI driver exporter wrote the entire FFI_AdbcError struct into the caller's out-pointer on every failed method, unconditionally clobbering private_data (and, at two of the three sites, private_driver). `c/include/arrow-adbc/adbc.h` documents that those fields only exist in the ADBC 1.1.0 layout, and that a driver *"should read/write these fields if and only if vendor_code is equal to `ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA`"* and *"should never touch more than [the 1.0.0-sized] portion of an AdbcError struct"* otherwise. Overwriting them corrupts memory an ADBC 1.0.0 caller owns (or does not have at all). ### Environment/Setup `adbc_ffi` 0.23.0 (also present in current `main`) ### Stack Trace _No response_ ### How can we reproduce the bug? _No response_ ### Environment/Setup _No response_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
