Tag: cws_src680_warnings01 User: sb Date: 06/01/25 12:48:54 Modified: /dba/connectivity/source/drivers/dbase/ DTable.cxx
Log: RESYNC: (1.90-1.91); FILE MERGED File Changes: Directory: /dba/connectivity/source/drivers/dbase/ ================================================== File [changed]: DTable.cxx Url: http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/dbase/DTable.cxx?r1=1.89.16.4&r2=1.89.16.5 Delta lines: +13 -6 -------------------- --- DTable.cxx 22 Dec 2005 11:44:41 -0000 1.89.16.4 +++ DTable.cxx 25 Jan 2006 20:48:51 -0000 1.89.16.5 @@ -652,7 +652,7 @@ sal_Int32 nByteOffset = 1; // Felder: OSQLColumns::const_iterator aIter = _rCols.begin(); - for (sal_Int32 i = 1; aIter != _rCols.end();++aIter, i++) + for (sal_Int32 i = 1; aIter != _rCols.end() && nByteOffset <= m_nBufferSize && i < _rRow->size();++aIter, i++) { // Laengen je nach Datentyp: sal_Int32 nLen; @@ -684,10 +684,11 @@ } // Ist die Variable ueberhaupt gebunden? - if (!(*_rRow)[i]->isBound()) + if ( !(*_rRow)[i]->isBound() ) { // Nein - naechstes Feld. nByteOffset += nLen; + OSL_ENSURE( nByteOffset <= m_nBufferSize ,"ByteOffset > m_nBufferSize!"); continue; } @@ -784,6 +785,7 @@ // break; // Und weiter ... nByteOffset += nLen; + OSL_ENSURE( nByteOffset <= m_nBufferSize ,"ByteOffset > m_nBufferSize!"); } return sal_True; } @@ -1394,6 +1396,9 @@ //------------------------------------------------------------------ BOOL ODbaseTable::UpdateBuffer(OValueRefVector& rRow, OValueRefRow pOrgRow,const Reference<XIndexAccess>& _xCols) { + OSL_ENSURE(m_pBuffer,"Buffer is NULL!"); + if ( !m_pBuffer ) + return FALSE; sal_Int32 nByteOffset = 1; // Felder aktualisieren: @@ -1466,7 +1471,7 @@ // when we are here there is no double key in the table - for (i = 0; i < nColumnCount; ++i) + for (i = 0; i < nColumnCount && nByteOffset <= m_nBufferSize ; ++i) { // Laengen je nach Datentyp: OSL_ENSURE(i < m_aPrecisions.size(),"Illegal index!"); @@ -1552,6 +1557,7 @@ { memset(pData,' ',nLen); // Zuruecksetzen auf NULL nByteOffset += nLen; + OSL_ENSURE( nByteOffset <= m_nBufferSize ,"ByteOffset > m_nBufferSize!"); continue; } @@ -1677,6 +1683,7 @@ } // Und weiter ... nByteOffset += nLen; + OSL_ENSURE( nByteOffset <= m_nBufferSize ,"ByteOffset > m_nBufferSize!"); } return sal_True; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
