Kaydet (Commit) dc7ca91a authored tarafından Luboš Luňák's avatar Luboš Luňák

avoid calling OUString::copy() with length being -1

Which asserts in dbgutil build.

Change-Id: I0f8205ae98c5a57c430b7d8a574e4c0019855841
üst a5824fa9
...@@ -491,25 +491,28 @@ bool SbiScanner::NextSym() ...@@ -491,25 +491,28 @@ bool SbiScanner::NextSym()
if( *pLine == cSep ) if( *pLine == cSep )
{ {
pLine++; nCol++; pLine++; nCol++;
if( *pLine != cSep || cSep == ']' ) break; if( *pLine != cSep || cSep == ']' )
{
// If VBA Interop then doen't eat the [] chars
if ( cSep == ']' && bVBASupportOn )
aSym = aLine.copy( n - 1, nCol - n + 1);
else
aSym = aLine.copy( n, nCol - n - 1 );
// get out duplicate string delimiters
OUStringBuffer aSymBuf;
for ( sal_Int32 i = 0, len = aSym.getLength(); i < len; ++i )
{
aSymBuf.append( aSym[i] );
if ( aSym[i] == cSep && ( i+1 < len ) && aSym[i+1] == cSep )
++i;
}
aSym = aSymBuf.makeStringAndClear();
if( cSep != ']' )
eScanType = ( cSep == '#' ) ? SbxDATE : SbxSTRING;
break;
}
} else aError = OUString(cSep), GenError( SbERR_EXPECTED ); } else aError = OUString(cSep), GenError( SbERR_EXPECTED );
} }
// If VBA Interop then doen't eat the [] chars
if ( cSep == ']' && bVBASupportOn )
aSym = aLine.copy( n - 1, nCol - n + 1);
else
aSym = aLine.copy( n, nCol - n - 1 );
// get out duplicate string delimiters
OUStringBuffer aSymBuf;
for ( sal_Int32 i = 0, len = aSym.getLength(); i < len; ++i )
{
aSymBuf.append( aSym[i] );
if ( aSym[i] == cSep && ( i+1 < len ) && aSym[i+1] == cSep )
++i;
}
aSym = aSymBuf.makeStringAndClear();
if( cSep != ']' )
eScanType = ( cSep == '#' ) ? SbxDATE : SbxSTRING;
} }
// invalid characters: // invalid characters:
else if( ( *pLine & 0xFF ) >= 0x7F ) else if( ( *pLine & 0xFF ) >= 0x7F )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment