diff --git a/src/libraries/System.Data.Odbc/src/System/Data/Odbc/OdbcDataReader.cs b/src/libraries/System.Data.Odbc/src/System/Data/Odbc/OdbcDataReader.cs index 5013c28a7937db..1ddb2a5dc483df 100644 --- a/src/libraries/System.Data.Odbc/src/System/Data/Odbc/OdbcDataReader.cs +++ b/src/libraries/System.Data.Odbc/src/System/Data/Odbc/OdbcDataReader.cs @@ -1008,6 +1008,11 @@ private object internalGetString(int i) // followed by exception. I did not add it now to avoid breaking change Debug.Assert(lengthOrIndicator >= 0 || lengthOrIndicator == ODBC32.SQL_NO_TOTAL, "unexpected lengthOrIndicator value"); + if (0 == lengthOrIndicator) + { + break; // done + } + if (ODBC32.SQL_NO_TOTAL != lengthOrIndicator) { cbActual = Math.Min(lengthOrIndicator, cbMaxData);