Bug #80783 [Opn->Ver]: PDO ODBC truncates BLOB records at every 256th byte

From: Date: Mon, 22 Feb 2021 14:21:58 +0000
Subject: Bug #80783 [Opn->Ver]: PDO ODBC truncates BLOB records at every 256th byte
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-232322@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80783&edit=1 ID: 80783 Updated by: cmb@php.net Reported by: horvath dot szabolcs at t-systems dot hu Summary: PDO ODBC truncates BLOB records at every 256th byte -Status: Open +Status: Verified Type: Bug Package: PDO ODBC Operating System: Red Hat Enterprise Linux Server PHP Version: 7.3.27 -Assigned To: +Assigned To: cmb Block user comment: N Private report: N Previous Comments: ------------------------------------------------------------------------ [2021-02-22 14:21:49] cmb@php.net The following pull request has been associated: Patch Name: Fix #80783: PDO ODBC truncates BLOB records at every 256th byte On GitHub: https://github.com/php/php-src/pull/6716 Patch: https://github.com/php/php-src/pull/6716.patch ------------------------------------------------------------------------ [2021-02-22 10:17:41] horvath dot szabolcs at t-systems dot hu Actual php-pdo trace: [ODBC][32334][1613745952.889923][SQLConnect.c][3721] Entry: Connection = 0x55e05fc8d200 Server Name = [ORACLETEST][length = 11 (SQL_NTS)] User Name = [user][length = 11 (SQL_NTS)] Authentication = [********][length = 8 (SQL_NTS)] UNICODE Using encoding ASCII 'UTF-8' and UNICODE 'UTF16LE' [ODBC][32334][1613745953.041731][SQLConnect.c][4299] Exit:[SQL_SUCCESS] [ODBC][32334][1613745953.042039][SQLAllocHandle.c][540] Entry: Handle Type = 3 Input Handle = 0x55e05fc8d200 [ODBC][32334][1613745953.042303][SQLAllocHandle.c][1085] Exit:[SQL_SUCCESS] Output Handle = 0x55e05fe1fd30 [ODBC][32334][1613745953.042520][SQLPrepare.c][196] Entry: Statement = 0x55e05fe1fd30 SQL = [SELECT pdf FROM PAYROLL WHERE USER_ID = 999 AND ROWNUM = 1 ORDER BY YEAR DESC, MONTH DESC][length = 89 (SQL_NTS)] [ODBC][32334][1613745953.042850][SQLPrepare.c][377] Exit:[SQL_SUCCESS] [ODBC][32334][1613745953.043093][SQLExecute.c][187] Entry: Statement = 0x55e05fe1fd30 [ODBC][32334][1613745953.044674][SQLExecute.c][357] Exit:[SQL_SUCCESS] [ODBC][32334][1613745953.044917][SQLRowCount.c][173] Entry: Statement = 0x55e05fe1fd30 Row Count = 0x7fff668370c8 [ODBC][32334][1613745953.045158][SQLRowCount.c][247] Exit:[SQL_SUCCESS] Row Count = 0x7fff668370c8 -> -1 [ODBC][32334][1613745953.045373][SQLNumResultCols.c][156] Entry: Statement = 0x55e05fe1fd30 Column Count = 0x7fff668370d0 [ODBC][32334][1613745953.045602][SQLNumResultCols.c][251] Exit:[SQL_SUCCESS] Count = 0x7fff668370d0 -> 1 [ODBC][32334][1613745953.045871][SQLDescribeCol.c][247] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Column Name = 0x7f4fed4810da Buffer Length = 127 Name Length = 0x7fff66837096 Data Type = 0x7f4fed4810d8 Column Size = 0x7fff66837098 Decimal Digits = (nil) Nullable = (nil) [ODBC][32334][1613745953.046112][SQLDescribeCol.c][504] Exit:[SQL_SUCCESS] Column Name = [PDF] Data Type = 0x7f4fed4810d8 -> -4 Column Size = 0x7fff66837098 -> 2147483647 Decimal Digits = NULLPTR Nullable = NULLPTR [ODBC][32334][1613745953.046327][SQLColAttribute.c][294] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Field Identifier = SQL_DESC_DISPLAY_SIZE Character Attr = (nil) Buffer Length = 0 String Length = (nil) Numeric Attribute = 0x7fff668370a0 [ODBC][32334][1613745953.046550][SQLColAttribute.c][709] Exit:[SQL_SUCCESS] [ODBC][32334][1613745953.046789][SQLFetchScroll.c][159] Entry: Statement = 0x55e05fe1fd30 Fetch Orentation = 1 Fetch Offset = 0 [ODBC][32334][1613745953.051041][SQLFetchScroll.c][356] Exit:[SQL_SUCCESS] [ODBC][32334][1613745953.051281][SQLGetData.c][237] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Target Type = 1 SQL_CHAR Buffer Length = 256 Target Value = 0x7f4fed48f000 StrLen Or Ind = 0x7f4fed4810d0 [ODBC][32334][1613745953.051520][SQLGetData.c][545] Exit:[SQL_SUCCESS_WITH_INFO] Buffer = [UDEyRGJHdDdYdys0US9BNGxPaWpTbmJ2Q1lBSFFOczBLVUx0TnNTaHBCcjF6WEZ2dm9XZWt3VUtRSmJGVmJmRHBnWWg0MlhjckdTZjJBWWkvMG14VWNYT3htUm5BTy9m] Strlen Or Ind = 0x7f4fed4810d0 -> 25744 [ODBC][32334][1613745953.051771][SQLGetData.c][237] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Target Type = 1 SQL_CHAR Buffer Length = 256 Target Value = 0x7f4fed48f100 StrLen Or Ind = 0x7f4fed4810d0 [ODBC][32334][1613745953.051995][SQLGetData.c][545] Exit:[SQL_SUCCESS_WITH_INFO] Buffer = [Q3c3OGI2bnJycmVQMktmc2VNOWRmZ2c1ZVJDUUh0bFZNZCsyMWRjRHZnVTBrRjlCTE4wMWRKUTl4YjhkSDdoN3NBSTF0akdLT2ZvVGlTU3R6RnZJQmhSVGNGU3ZkRUxp] Strlen Or Ind = 0x7f4fed4810d0 -> 25488 [ODBC][32334][1613745953.052224][SQLGetData.c][237] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Target Type = 1 SQL_CHAR Buffer Length = 256 Target Value = 0x7f4fed48f100 StrLen Or Ind = 0x7f4fed4810d0 [ODBC][32334][1613745953.052459][SQLGetData.c][545] Exit:[SQL_SUCCESS_WITH_INFO] Buffer = [K0wzTHZabE1KejhOcHpIblVuYXJzTktXTmdvWEw0YlNPa2l0b0FTNkNvOFVtc1hzYnNXTGErVnVDbXVXUHdLTGZTWGtIUHR0aDVwZU1LRS9DNDlONVhKSjN2S21zOFl2] Strlen Or Ind = 0x7f4fed4810d0 -> 25232 [ODBC][32334][1613745953.052681][SQLGetData.c][237] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Target Type = 1 SQL_CHAR Buffer Length = 256 Target Value = 0x7f4fed48f100 StrLen Or Ind = 0x7f4fed4810d0 [ODBC][32334][1613745953.052908][SQLGetData.c][545] Exit:[SQL_SUCCESS_WITH_INFO] Buffer = [NjEzbVVOK0pWRG55YnRvVDFoZENjYTFsdC9LbHk4N3JFRGhySkhBLzAyVFNYV3ROOUhhcU9RQnMwc1R1eUJoWitURmxMTkJIQUloeXVTeXJPR1F3djdLaElVZWMvZHcz] Strlen Or Ind = 0x7f4fed4810d0 -> 24976 [ODBC][32334][1613745953.053126][SQLGetData.c][237] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Target Type = 1 SQL_CHAR Buffer Length = 256 Target Value = 0x7f4fed48f100 StrLen Or Ind = 0x7f4fed4810d0 [ODBC][32334][1613745953.053434][SQLGetData.c][545] Exit:[SQL_SUCCESS_WITH_INFO] Buffer = [YkpYNHl6K2drVXpYUVREV1NmczlUS0J3aGZadVhoZzRRNlZ1MW92OW12bHZXYnh4M09adXVhNnRFcHdJcVFjTyszUHowL3lxanpDMElZb0tRcXlIZk8ybHRFaDBOU29E] Strlen Or Ind = 0x7f4fed4810d0 -> 24720 [ODBC][32334][1613745953.053676][SQLGetData.c][237] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Target Type = 1 SQL_CHAR Buffer Length = 256 Target Value = 0x7f4fed48f100 StrLen Or Ind = 0x7f4fed4810d0 [ODBC][32334][1613745953.053902][SQLGetData.c][545] Exit:[SQL_SUCCESS_WITH_INFO] Buffer = [c3JMeUtWWCsxT2J2U0FvUXc4TnBOWndLUFdnZGgrNUt4ZlpCSGIxSmF4NitFVEJoN0lEVnA0a21kMS96YlZDQktOQVZYcjRqKzdWelZRdmwxT1pBTkorWWF2cHF5UXJt] Strlen Or Ind = 0x7f4fed4810d0 -> 24464 [ODBC][32334][1613745953.054120][SQLGetData.c][237] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Target Type = 1 SQL_CHAR Buffer Length = 256 Target Value = 0x7f4fed48f100 StrLen Or Ind = 0x7f4fed4810d0 [ODBC][32334][1613745953.054342][SQLGetData.c][545] Exit:[SQL_SUCCESS_WITH_INFO] Buffer = [RnF6MmNJbkRxQ05kcHdpdHQ5ZWtDVUpUNCtYTjY0VkR5RFo1Z0gxRFplUVRRNExGRWRFRFBEWU9UeG45c2pEcmc1aGZRWXRwUDZxcXF1UzlYQm95M3owbXVUV2plbnBG] Strlen Or Ind = 0x7f4fed4810d0 -> 24208 [ODBC][32334][1613745953.054596][SQLGetData.c][237] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Target Type = 1 SQL_CHAR Buffer Length = 256 Target Value = 0x7f4fed48f100 StrLen Or Ind = 0x7f4fed4810d0 [ODBC][32334][1613745953.054897][SQLGetData.c][545] Exit:[SQL_SUCCESS_WITH_INFO] Buffer = [UUxVMG9wRXpIOG5kMTVkeW9kelhob2JIYVVBZmJvM2RYS2ZDUnNCSENWeVRmamV5akdyaHRhczV1YnJldHR1KzQwSG1zRk5yUEVob1N3SExUS3cxeFJ4WTRNeGVnajN4] Strlen Or Ind = 0x7f4fed4810d0 -> 23952 [ it goes on and on until we have data ] [ODBC][32334][1613745953.094878][SQLGetData.c][545] Exit:[SQL_SUCCESS_WITH_INFO] Buffer = [MzY1c3RkQTBjRFUvYkFuTFZpSndVMFlXSE9nTi83Z29IZUUzZC9lVGFlV1RrNW8rYjR4TlBtRzJiYUUwMi9EYUtkd2Jpa08rUmFLd3E3eW9lQVZZWU1tdTcvaXY3dGV3] Strlen Or Ind = 0x7f4fed4810d0 -> 656 [ODBC][32334][1613745953.095072][SQLGetData.c][237] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Target Type = 1 SQL_CHAR Buffer Length = 256 Target Value = 0x7f4fed48f100 StrLen Or Ind = 0x7f4fed4810d0 [ODBC][32334][1613745953.095271][SQLGetData.c][545] Exit:[SQL_SUCCESS_WITH_INFO] Buffer = [SHhSMjRxRVc3MUVWU1g1b3FjdjVTdFRJT2FvZWlDKzlVd0I3K25iRk5BWjV1SVR4OXNlOVlJRngxb3daMHF3eEZ4dmg0TEpIRWVUQUhqaExnL0ppSkE2WlFJNnU0S3lB] Strlen Or Ind = 0x7f4fed4810d0 -> 400 [ODBC][32334][1613745953.095459][SQLGetData.c][237] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Target Type = 1 SQL_CHAR Buffer Length = 256 Target Value = 0x7f4fed48f100 StrLen Or Ind = 0x7f4fed4810d0 [ODBC][32334][1613745953.095656][SQLGetData.c][545] Exit:[SQL_SUCCESS] Buffer = [SHUvOG1iWTNBeFhvRTlqbVZwM0hyWGtPVEZEdFdaOXBCZjNWM2ZmYk5kSDM5MUFTYVZVa1ZRSm5yc1NONDhCTlhPenF1UWc0Rjlralcwd2ljbHU2UXpzZXhFY0xCeUU0] Strlen Or Ind = 0x7f4fed4810d0 -> 144 [ODBC][32334][1613745953.095871][SQLGetData.c][237] Entry: Statement = 0x55e05fe1fd30 Column Number = 1 Target Type = 1 SQL_CHAR Buffer Length = 256 Target Value = 0x7f4fed48f100 StrLen Or Ind = 0x7f4fed4810d0 [ODBC][32334][1613745953.096079][SQLGetData.c][545] Exit:[SQL_NO_DATA] Buffer = [SHUvOG1iWTNBeFhvRTlqbVZwM0hyWGtPVEZEdFdaOXBCZjNWM2ZmYk5kSDM5MUFTYVZVa1ZRSm5yc1NONDhCTlhPenF1UWc0Rjlralcwd2ljbHU2UXpzZXhFY0xCeUU0] Strlen Or Ind = 0x7f4fed4810d0 -> 0 [ODBC][32334][1613745953.096325][SQLCloseCursor.c][139] Entry: Statement = 0x55e05fe1fd30 [ODBC][32334][1613745953.096554][SQLCloseCursor.c][234] Exit:[SQL_SUCCESS] [ODBC][32334][1613745953.096748][SQLFreeHandle.c][387] Entry: Handle Type = 3 Input Handle = 0x55e05fe1fd30 [ODBC][32334][1613745953.097007][SQLFreeHandle.c][490] Exit:[SQL_SUCCESS] [ODBC][32334][1613745953.097206][SQLEndTran.c][417] Entry: Connection = 0x55e05fc8d200 Completion Type = 1 [ODBC][32334][1613745953.098604][SQLGetInfo.c][236] Entry: Connection = 0x55e05fc8d200 Info Type = SQL_CURSOR_COMMIT_BEHAVIOR (23) Info Value = 0x55e05fc8e678 Buffer Length = 2 StrLen = 0x7fff66839160 [ODBC][32334][1613745953.098859][SQLGetInfo.c][236] Entry: Connection = 0x55e05fc8d200 Info Type = SQL_CURSOR_ROLLBACK_BEHAVIOR (24) Info Value = 0x55e05fc8e67a Buffer Length = 2 StrLen = 0x7fff66839160 [ODBC][32334][1613745953.099083][SQLEndTran.c][566] Exit:[SQL_SUCCESS] [ODBC][32334][1613745953.099399][SQLDisconnect.c][208] Entry: Connection = 0x55e05fc8d200 [ODBC][32334][1613745954.023690][SQLDisconnect.c][379] Exit:[SQL_SUCCESS] [ODBC][32334][1613745954.024410][SQLFreeHandle.c][290] Entry: Handle Type = 2 Input Handle = 0x55e05fc8d200 [ODBC][32334][1613745954.024992][SQLFreeHandle.c][339] Exit:[SQL_SUCCESS] [ODBC][32334][1613745954.025527][SQLFreeHandle.c][220] Entry: Handle Type = 1 Input Handle = 0x55e05feb7150 ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=80783 -- Edit this bug report at https://bugs.php.net/bug.php?id=80783&edit=1

« previous php.bugs (#232322) next »