Issue: With query to get bigint (e.g., SELECT CAST(9223372036854775807 AS BIGINT)), and call SQLGetData(hstmt, 1, SQL_C_SLONG, &sCustID, 0, &cbCustID); (example is based on Microsoft SQLGetData documentation), SQLGetData returns SQL_SUCCESS instead of returning SQL_ERROR with error state 22003 - Numeric value out of range.
Possible cause from looking at the code: When SQLGetData is called, DocumentDbColumn::PutInt* is called to get numeric data (converted from bsoncxx::type to C type), and then eventually ApplicationDataBuffer::PutNum is called to save the data without any conversion or checks for data size.