[Libreoffice-commits] .: 7 commits - extensions/source filter/inc filter/source rsc/source svtools/source testtools/source vcl/source
Caolán McNamara
caolan at kemper.freedesktop.org
Fri May 25 01:26:39 PDT 2012
extensions/source/plugin/unx/npnapi.cxx | 3 ++-
extensions/source/plugin/unx/npwrap.cxx | 6 ++++--
filter/inc/filter/msfilter/msdffimp.hxx | 2 +-
filter/source/msfilter/msdffimp.cxx | 14 +++++---------
filter/source/msfilter/svdfppt.cxx | 4 ++--
rsc/source/tools/rsctools.cxx | 24 ++++++++++++------------
svtools/source/contnr/templwin.cxx | 4 ++--
svtools/source/contnr/templwin.hxx | 3 ---
testtools/source/bridgetest/bridgetest.cxx | 4 +++-
vcl/source/window/menu.cxx | 2 +-
10 files changed, 32 insertions(+), 34 deletions(-)
New commits:
commit 306159d8ff9ef91cf8d4c92198157b7fad46211e
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri May 25 09:25:19 2012 +0100
convert mpFidcls to a vector
Change-Id: I41d24c8d14a781e4100813ebce136d563f8c36b8
diff --git a/filter/inc/filter/msfilter/msdffimp.hxx b/filter/inc/filter/msfilter/msdffimp.hxx
index 3366a9c..ad2e55a 100644
--- a/filter/inc/filter/msfilter/msdffimp.hxx
+++ b/filter/inc/filter/msfilter/msdffimp.hxx
@@ -478,7 +478,7 @@ typedef std::map<sal_uInt32, sal_uInt32> OffsetMap;
sal_uInt32 mnCurMaxShapeId; // we need this information to
sal_uInt32 mnDrawingsSaved; // access the right drawing
sal_uInt32 mnIdClusters; // while only knowing the shapeid
- FIDCL* mpFidcls;
+ std::vector<FIDCL> maFidcls;
OffsetMap maDgOffsetTable; // array of fileoffsets
friend class DffPropertyReader;
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index c4a6bca..4c10530 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -3316,13 +3316,13 @@ void SvxMSDffManager::SetModel(SdrModel* pModel, long nApplicationScale)
sal_Bool SvxMSDffManager::SeekToShape( SvStream& rSt, void* /* pClientData */, sal_uInt32 nId ) const
{
sal_Bool bRet = sal_False;
- if ( mpFidcls )
+ if ( !maFidcls.empty() )
{
sal_uInt32 nMerk = rSt.Tell();
sal_uInt32 nShapeId, nSec = ( nId >> 10 ) - 1;
if ( nSec < mnIdClusters )
{
- OffsetMap::const_iterator it = maDgOffsetTable.find( mpFidcls[ nSec ].dgid );
+ OffsetMap::const_iterator it = maDgOffsetTable.find( maFidcls[ nSec ].dgid );
if ( it != maDgOffsetTable.end() )
{
sal_IntPtr nOfs = it->second;
@@ -5747,7 +5747,6 @@ SvxMSDffManager::SvxMSDffManager(SvStream& rStCtrl_,
nGroupShapeFlags(0), //ensure initialization here, as some corrupted
//files may yield to this being unitialized
maBaseURL( rBaseURL ),
- mpFidcls( NULL ),
rStCtrl( rStCtrl_ ),
pStData( pStData_ ),
pStData2( pStData2_ ),
@@ -5792,7 +5791,6 @@ SvxMSDffManager::SvxMSDffManager( SvStream& rStCtrl_, const String& rBaseURL )
nBLIPCount( USHRT_MAX ), // mit Error initialisieren, da wir erst pruefen,
nShapeCount( USHRT_MAX ), // ob Kontroll-Stream korrekte Daten enthaellt
maBaseURL( rBaseURL ),
- mpFidcls( NULL ),
rStCtrl( rStCtrl_ ),
pStData( 0 ),
pStData2( 0 ),
@@ -5810,7 +5808,6 @@ SvxMSDffManager::~SvxMSDffManager()
delete pShapeInfos;
delete pShapeOrders;
delete pFormModel;
- delete[] mpFidcls;
}
void SvxMSDffManager::InitSvxMSDffManager( sal_uInt32 nOffsDgg_, SvStream* pStData_, sal_uInt32 nOleConvFlags )
@@ -5884,17 +5881,11 @@ void SvxMSDffManager::GetFidclData( sal_uInt32 nOffsDggL )
"escher", "FIDCL list longer than remaining bytes, ppt or parser is wrong");
mnIdClusters = std::min(nMaxEntriesPossible, static_cast<sal_Size>(mnIdClusters));
- sal_Size nMaxEntriesAllocatable = SAL_MAX_UINT32 / sizeof(FIDCL);
- SAL_WARN_IF(nMaxEntriesAllocatable < mnIdClusters,
- "escher", "FIDCL list longer than can be allocated");
- mnIdClusters = std::min(nMaxEntriesAllocatable, static_cast<sal_Size>(mnIdClusters));
-
- mpFidcls = new FIDCL[ mnIdClusters ];
- memset(mpFidcls, 0, mnIdClusters * sizeof(FIDCL));
+ maFidcls.resize(mnIdClusters);
for (sal_uInt32 i = 0; i < mnIdClusters; ++i)
{
- rStCtrl >> mpFidcls[ i ].dgid
- >> mpFidcls[ i ].cspidCur;
+ rStCtrl >> maFidcls[ i ].dgid
+ >> maFidcls[ i ].cspidCur;
}
}
}
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx
index 8e24fcf..dfe4400 100644
--- a/filter/source/msfilter/svdfppt.cxx
+++ b/filter/source/msfilter/svdfppt.cxx
@@ -1250,8 +1250,8 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
if ( rPersistEntry.nDrawingDgId != 0xffffffff )
{
sal_uInt32 nSec = ( rObjData.nShapeId >> 10 ) - 1;
- if ( mpFidcls && ( nSec < mnIdClusters ) )
- mpFidcls[ nSec ].dgid = rPersistEntry.nDrawingDgId; // insert the correct drawing id;
+ if ( !maFidcls.empty() && ( nSec < mnIdClusters ) )
+ maFidcls[ nSec ].dgid = rPersistEntry.nDrawingDgId; // insert the correct drawing id;
}
}
if ( GetPropertyValue( DFF_Prop_fNoFillHitTest ) & 0x10 )
commit b686bab2e39216f5b1df9f7fb77099fec6d2f611
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu May 24 17:18:46 2012 +0100
WaE: return value of fwrite unchecked
Change-Id: I83ecc3ef45eb411741db4b4ff20982bff1709d99
diff --git a/extensions/source/plugin/unx/npnapi.cxx b/extensions/source/plugin/unx/npnapi.cxx
index 3e41dd5..8a9ce45 100644
--- a/extensions/source/plugin/unx/npnapi.cxx
+++ b/extensions/source/plugin/unx/npnapi.cxx
@@ -871,7 +871,8 @@ IMPL_LINK( PluginConnector, WorkOnNewMessageHdl, Mediator*, /*pMediator*/ )
break;
case eNPP_Shutdown:
{
- write( wakeup_fd[1], "xxxx", 4 );
+ bool bSuccess = (4 == write(wakeup_fd[1], "xxxx", 4));
+ SAL_WARN_IF( !bSuccess, "extensions", "short write");
}
break;
default:
diff --git a/extensions/source/plugin/unx/npwrap.cxx b/extensions/source/plugin/unx/npwrap.cxx
index f6d00a2..514c92a 100644
--- a/extensions/source/plugin/unx/npwrap.cxx
+++ b/extensions/source/plugin/unx/npwrap.cxx
@@ -65,7 +65,8 @@ static long GlobalConnectionLostHdl( void* /*pInst*/, void* /*pArg*/ )
{
medDebug( 1, "pluginapp exiting due to connection lost\n" );
- write( wakeup_fd[1], "xxxx", 4 );
+ bool bSuccess = (4 == write(wakeup_fd[1], "xxxx", 4 ));
+ SAL_WARN_IF( !bSuccess, "extensions", "short write");
return 0;
}
@@ -111,7 +112,8 @@ extern "C"
IMPL_LINK( PluginConnector, NewMessageHdl, Mediator*, /*pMediator*/ )
{
medDebug( 1, "new message handler\n" );
- write( wakeup_fd[1], "cccc", 4 );
+ bool bSuccess = (4 == write(wakeup_fd[1], "cccc", 4));
+ SAL_WARN_IF( !bSuccess, "extensions", "short write");
return 0;
}
commit d785059238abf7ee28aec1b6555dcd38c5b6c61f
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu May 24 16:37:17 2012 +0100
WaE: nPos potentially uninitialized with gcc 4.7.0
Change-Id: Ie02cf6154b7536a46cd3753c526f7c390e57a40e
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index 04619eb..3f695bd 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -3563,7 +3563,7 @@ void PopupMenu::SelectEntry( sal_uInt16 nId )
{
if( nId != ITEMPOS_INVALID )
{
- size_t nPos;
+ size_t nPos = 0;
MenuItemData* pData = GetItemList()->GetData( nId, nPos );
if ( pData->pSubMenu )
ImplGetFloatingWindow()->ChangeHighlightItem( nPos, sal_True );
commit cf9b0830c5e574d6c4a16ea2a179720dde26e811
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu May 24 16:36:54 2012 +0100
WaE: return value of fwrite unchecked
Change-Id: Ib3713290a7dcd4bbbb58232d144e35694653a4a5
diff --git a/rsc/source/tools/rsctools.cxx b/rsc/source/tools/rsctools.cxx
index 70ef441..bda03a4 100644
--- a/rsc/source/tools/rsctools.cxx
+++ b/rsc/source/tools/rsctools.cxx
@@ -145,20 +145,20 @@ sal_Bool Append(FILE * fDest, const rtl::OString &rTmpFile)
fclose( fSource );
return sal_False;
}
- else
- {
- char szBuf[ MAX_BUF ];
- int nItems;
- do //appemd
- {
- nItems = fread( szBuf, sizeof( char ), MAX_BUF, fSource );
- fwrite( szBuf, sizeof( char ), nItems, fDest );
- } while( MAX_BUF == nItems );
+ bool bSuccess = true;
+ char szBuf[ MAX_BUF ];
+ size_t nItems;
- fclose( fSource );
- };
- return sal_True;
+ do //appemd
+ {
+ nItems = fread( szBuf, 1, MAX_BUF, fSource );
+ bSuccess = (nItems == fwrite(szBuf, 1, nItems, fDest));
+ SAL_WARN_IF(!bSuccess, "rsc", "short write");
+ } while (MAX_BUF == nItems && bSuccess);
+
+ fclose( fSource );
+ return bSuccess;
}
sal_Bool Append(const rtl::OString &rOutputSrs, const rtl::OString &rTmpFile)
commit 268ddf96756be5a850645f0c67e91cf7369a77f4
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu May 24 16:36:32 2012 +0100
WaE: pesky aliasing warning with gcc 4.7.0
Change-Id: I78675ba624cf657a246f7d1211bf5075189ac873
diff --git a/testtools/source/bridgetest/bridgetest.cxx b/testtools/source/bridgetest/bridgetest.cxx
index f6d63bb..940be00 100644
--- a/testtools/source/bridgetest/bridgetest.cxx
+++ b/testtools/source/bridgetest/bridgetest.cxx
@@ -1066,8 +1066,10 @@ uno_Sequence* cloneSequence(const uno_Sequence* val, const Type& type)
Type _tElem(pTdElem->pWeakRef);
for (int i = 0; i < val->nElements; i++)
{
+ sal_Int8 *pValBuf = (sal_Int8 *)(&val->elements + i * pTdElem->nSize);
+
uno_Sequence* seq = cloneSequence(
- *(uno_Sequence**) (&val->elements + i * pTdElem->nSize),
+ *(uno_Sequence**) (pValBuf),
_tElem);
*((uno_Sequence**) pBufCur) = seq;
pBufCur += pTdElem->nSize;
commit 07edde2ddd309f47ddf5360f7133c181791cb3d0
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu May 24 14:15:56 2012 +0100
check some bounds conditions
Change-Id: Iab2f715b37d9fae816723b84ee1116fd4aff9537
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index 5b6c86c..c4a6bca 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -5884,6 +5884,11 @@ void SvxMSDffManager::GetFidclData( sal_uInt32 nOffsDggL )
"escher", "FIDCL list longer than remaining bytes, ppt or parser is wrong");
mnIdClusters = std::min(nMaxEntriesPossible, static_cast<sal_Size>(mnIdClusters));
+ sal_Size nMaxEntriesAllocatable = SAL_MAX_UINT32 / sizeof(FIDCL);
+ SAL_WARN_IF(nMaxEntriesAllocatable < mnIdClusters,
+ "escher", "FIDCL list longer than can be allocated");
+ mnIdClusters = std::min(nMaxEntriesAllocatable, static_cast<sal_Size>(mnIdClusters));
+
mpFidcls = new FIDCL[ mnIdClusters ];
memset(mpFidcls, 0, mnIdClusters * sizeof(FIDCL));
for (sal_uInt32 i = 0; i < mnIdClusters; ++i)
commit 1504284cedc64165462663be0e1d8a6624b78e2d
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu May 24 13:37:19 2012 +0100
tidy SvtDocInfoTable_Impl
Change-Id: Ic354fc145c75eb24aa010627467fae007cfbf024
diff --git a/svtools/source/contnr/templwin.cxx b/svtools/source/contnr/templwin.cxx
index 98cf194..aed37c9 100644
--- a/svtools/source/contnr/templwin.cxx
+++ b/svtools/source/contnr/templwin.cxx
@@ -600,8 +600,8 @@ rtl::OUString SvtDocInfoTable_Impl::GetString( long nId ) const
if ( RESARRAY_INDEX_NOTFOUND != nPos )
return ResStringArray::GetString( nPos );
- else
- return aEmptyString;
+
+ return rtl::OUString();
}
// class SvtFrameWindow_Impl ---------------------------------------------
diff --git a/svtools/source/contnr/templwin.hxx b/svtools/source/contnr/templwin.hxx
index d945cf7..f2dbf42 100644
--- a/svtools/source/contnr/templwin.hxx
+++ b/svtools/source/contnr/templwin.hxx
@@ -167,9 +167,6 @@ public:
class SvtDocInfoTable_Impl : public ResStringArray
{
-private:
- String aEmptyString;
-
public:
SvtDocInfoTable_Impl();
More information about the Libreoffice-commits
mailing list