An open-source ODBC driver manager and SDK that facilitates the development of database-independent applications on linux, freebsd, unix and MacOS X platforms.
I don't think you can safely dereference that pointer at all from within SQLBindParameter, since the ODBC spec says it's a deferred buffer, so technically the application could do something strange like mess with memory permissions so that the address is only readable at execute time, and in any case it can set or re-set the bind offset at any time prior to execution.
I was trying to debug a test failure, and so I enabled driver manager tracing, but this caused a crash inside of iODBC
The problem is that this test is testing the use of SQL_ATTR_PARAM_BIND_OFFSET_PTR, and so the StrLenOrInd pointer passed into SQLBindParameter isn't something that can simply be dereferenced directly (need to add the offset first), but that's exactly what https://github.com/openlink/iODBC/blob/92de4c0e8627b7ff69bfc682db6ba2c848d87b4f/iodbc/trace/BindParameter.c#L106 does (I was using 3.52.8, but nothing seems to have changed since then)
I don't think you can safely dereference that pointer at all from within SQLBindParameter, since the ODBC spec says it's a deferred buffer, so technically the application could do something strange like mess with memory permissions so that the address is only readable at execute time, and in any case it can set or re-set the bind offset at any time prior to execution.