Tag: cws_src680_codecleanup01 User: mt Date: 06/04/09 22:24:53 Modified: /dba/connectivity/source/drivers/dbase/ DTable.cxx
Log: RESYNC: (1.90-1.92); 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.88.56.3&r2=1.88.56.4 Delta lines: +11 -4 -------------------- --- DTable.cxx 16 Dec 2005 13:07:37 -0000 1.88.56.3 +++ DTable.cxx 10 Apr 2006 05:24:51 -0000 1.88.56.4 @@ -650,7 +650,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; @@ -682,10 +682,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; } @@ -782,6 +783,7 @@ // break; // Und weiter ... nByteOffset += nLen; + OSL_ENSURE( nByteOffset <= m_nBufferSize ,"ByteOffset > m_nBufferSize!"); } return sal_True; } @@ -1113,7 +1115,7 @@ catch(const Exception&) { } - throw e; + throw; } return TRUE; } @@ -1384,6 +1386,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: @@ -1456,7 +1461,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!"); @@ -1542,6 +1547,7 @@ { memset(pData,' ',nLen); // Zuruecksetzen auf NULL nByteOffset += nLen; + OSL_ENSURE( nByteOffset <= m_nBufferSize ,"ByteOffset > m_nBufferSize!"); continue; } @@ -1667,6 +1673,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]
