diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx index f86e01f9c25f833d2907fac785f6e3f1042ee2f5..27517b5f0dd76936ecb069607b06bedf875e372b 100644 --- a/basic/source/runtime/runtime.cxx +++ b/basic/source/runtime/runtime.cxx @@ -702,17 +702,17 @@ sal_Bool SbiRuntime::Step() SbiOpcode eOp = (SbiOpcode ) ( *pCode++ ); sal_uInt32 nOp1, nOp2; - if( eOp <= SbOP0_END ) + if (eOp < SbOP0_END) { (this->*( aStep0[ eOp ] ) )(); } - else if( eOp >= SbOP1_START && eOp <= SbOP1_END ) + else if (eOp >= SbOP1_START && eOp < SbOP1_END) { nOp1 = *pCode++; nOp1 |= *pCode++ << 8; nOp1 |= *pCode++ << 16; nOp1 |= *pCode++ << 24; (this->*( aStep1[ eOp - SbOP1_START ] ) )( nOp1 ); } - else if( eOp >= SbOP2_START && eOp <= SbOP2_END ) + else if (eOp >= SbOP2_START && eOp < SbOP2_END) { nOp1 = *pCode++; nOp1 |= *pCode++ << 8; nOp1 |= *pCode++ << 16; nOp1 |= *pCode++ << 24; nOp2 = *pCode++; nOp2 |= *pCode++ << 8; nOp2 |= *pCode++ << 16; nOp2 |= *pCode++ << 24; diff --git a/cui/source/tabpages/numpages.cxx b/cui/source/tabpages/numpages.cxx index 6008b63d72f39778e8eab06d8b213e61186410fd..76125b2969edd930bde4477a1628bbf10676d107 100644 --- a/cui/source/tabpages/numpages.cxx +++ b/cui/source/tabpages/numpages.cxx @@ -2840,6 +2840,12 @@ void SvxNumPositionTabPage::InitControls() nMask <<= 1; } + if (SVX_MAX_NUM <= nLvl) + { + OSL_ENSURE(false, "cannot happen."); + return; + } + if(bSameDistBorderNum) { long nDistBorderNum; diff --git a/extensions/source/scanner/sane.cxx b/extensions/source/scanner/sane.cxx index 3ace08b7609815506044b9b67835f2be7dce4aac..8159b1a45b4c0e2d5686725edda215f5e47446e6 100644 --- a/extensions/source/scanner/sane.cxx +++ b/extensions/source/scanner/sane.cxx @@ -1002,7 +1002,7 @@ String Sane::GetOptionUnitName( int n ) String aText; SANE_Unit nUnit = mppOptions[n]->unit; size_t nUnitAsSize = (size_t)nUnit; - if( nUnitAsSize > SAL_N_ELEMENTS( ppUnits ) ) + if (nUnitAsSize >= SAL_N_ELEMENTS( ppUnits )) aText = rtl::OUString("[unknown units]"); else aText = String( ppUnits[ nUnit ], osl_getThreadTextEncoding() ); diff --git a/filter/source/graphicfilter/icgm/chart.cxx b/filter/source/graphicfilter/icgm/chart.cxx index 4651a04723d2dc517b1f56165e207a97fc7a0e93..b21ae893396dbb827398cdff3242555b6c550348 100644 --- a/filter/source/graphicfilter/icgm/chart.cxx +++ b/filter/source/graphicfilter/icgm/chart.cxx @@ -69,7 +69,6 @@ void CGMChart::DeleteTextEntry( TextEntry* pTextEntry ) pTAttr = pTAttr->pNextAttribute; delete pTempTAttr; } - delete pTextEntry; ::std::vector< TextEntry* >::iterator it; for ( it = maTextEntryList.begin(); it != maTextEntryList.end(); ++it ) { @@ -79,6 +78,7 @@ void CGMChart::DeleteTextEntry( TextEntry* pTextEntry ) break; } } + delete pTextEntry; } }; diff --git a/vcl/source/gdi/metric.cxx b/vcl/source/gdi/metric.cxx index a523b414ee89fecdbb6cd787fcb4a58395dd563d..bb9673ccbc984f71490edb0965a9da2fad8dcd5e 100644 --- a/vcl/source/gdi/metric.cxx +++ b/vcl/source/gdi/metric.cxx @@ -714,7 +714,7 @@ bool ParseCMAP( const unsigned char* pCmap, int nLength, CmapResult& rResult ) while( cMin < cEnd ) { int j = 0; - for(; (cMin < cEnd) && (j < NINSIZE); ++cMin ) + for (; (cMin < cEnd) && (j < (NINSIZE-1)); ++cMin) { if( cMin >= 0x0100 ) cCharsInp[ j++ ] = static_cast<sal_Char>(cMin >> 8); diff --git a/vcl/source/gdi/outmap.cxx b/vcl/source/gdi/outmap.cxx index 42e96c2e068a48d7082af4ae962af9ba6bd8b0da..284f473d1c5d26189b576c17a3e763da737b9987 100644 --- a/vcl/source/gdi/outmap.cxx +++ b/vcl/source/gdi/outmap.cxx @@ -61,9 +61,10 @@ DBG_NAMEEX( Region ) // ======================================================================= -static long aImplNumeratorAry[MAP_PIXEL+1] = +static int const s_ImplArySize = MAP_PIXEL+1; +static long aImplNumeratorAry[s_ImplArySize] = { 1, 1, 5, 50, 1, 1, 1, 1, 1, 1, 1 }; -static long aImplDenominatorAry[MAP_PIXEL+1] = +static long aImplDenominatorAry[s_ImplArySize] = { 2540, 254, 127, 127, 1000, 100, 10, 1, 72, 1440, 1 }; // ----------------------------------------------------------------------- @@ -1660,9 +1661,9 @@ basegfx::B2DPolyPolygon OutputDevice::PixelToLogic( const basegfx::B2DPolyPolygo #define ENTER3( eUnitSource, eUnitDest ) \ long nNumerator = 1; \ long nDenominator = 1; \ - DBG_ASSERT( eUnitSource <= MAP_PIXEL, "nonpermitted source map unit"); \ - DBG_ASSERT( eUnitDest <= MAP_PIXEL, "nonpermitted destination map unit"); \ - if( (eUnitSource <= MAP_PIXEL) && (eUnitDest <= MAP_PIXEL) ) \ + DBG_ASSERT( eUnitSource < s_ImplArySize, "Invalid source map unit"); \ + DBG_ASSERT( eUnitDest < s_ImplArySize, "Invalid destination map unit"); \ + if( (eUnitSource < s_ImplArySize) && (eUnitDest < s_ImplArySize) ) \ { \ nNumerator = aImplNumeratorAry[eUnitSource] * \ aImplDenominatorAry[eUnitDest]; \