[Libreoffice-commits] core.git: 13 commits - connectivity/source editeng/source filter/source include/sfx2 sfx2/source svx/source sw/source vcl/source
Caolán McNamara
caolanm at redhat.com
Wed Oct 15 08:57:26 PDT 2014
connectivity/source/drivers/jdbc/CallableStatement.cxx | 2
connectivity/source/drivers/jdbc/DatabaseMetaData.cxx | 56 +++++++++--------
connectivity/source/drivers/jdbc/InputStream.cxx | 2
connectivity/source/drivers/jdbc/Object.cxx | 12 +++
connectivity/source/drivers/jdbc/Reader.cxx | 2
connectivity/source/drivers/jdbc/ResultSet.cxx | 2
connectivity/source/drivers/jdbc/ResultSetMetaData.cxx | 10 +--
connectivity/source/inc/java/lang/Object.hxx | 3
connectivity/source/inc/java/sql/DatabaseMetaData.hxx | 3
editeng/source/xml/xmltxtexp.cxx | 1
editeng/source/xml/xmltxtimp.cxx | 1
filter/source/graphicfilter/etiff/etiff.cxx | 8 --
filter/source/graphicfilter/ipcx/ipcx.cxx | 5 -
include/sfx2/docfile.hxx | 18 ++---
sfx2/source/appl/appinit.cxx | 8 +-
sfx2/source/doc/docfile.cxx | 13 ---
svx/source/xml/xmlxtexp.cxx | 1
sw/source/filter/ww8/ww8par2.cxx | 28 ++++----
sw/source/filter/ww8/ww8scan.cxx | 21 +++++-
sw/source/filter/ww8/ww8toolbar.cxx | 4 -
vcl/source/control/ilstbox.cxx | 2
21 files changed, 108 insertions(+), 94 deletions(-)
New commits:
commit cb4cb0c053d257d231bdd3e5eaeb3e1c08aac036
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 15 10:58:30 2014 +0100
one of the oddest things I've seen
Change-Id: Ia0240d212a39401ea119588f4a0731b2b99d1d1f
diff --git a/filter/source/graphicfilter/etiff/etiff.cxx b/filter/source/graphicfilter/etiff/etiff.cxx
index 8d9cc0f..e265c9f 100644
--- a/filter/source/graphicfilter/etiff/etiff.cxx
+++ b/filter/source/graphicfilter/etiff/etiff.cxx
@@ -147,20 +147,12 @@ TIFFWriter::TIFFWriter(SvStream &rStream)
{
}
-
-
TIFFWriter::~TIFFWriter()
{
}
-
-
bool TIFFWriter::WriteTIFF( const Graphic& rGraphic, FilterConfigItem* pFilterConfigItem)
{
- sal_uLong* pDummy = new sal_uLong; delete pDummy; // So that under OS/2
- // the right (tools-)new
- // is used. Otherwise only vector
- // exist within this dll.
if ( pFilterConfigItem )
{
xStatusIndicator = pFilterConfigItem->GetStatusIndicator();
diff --git a/filter/source/graphicfilter/ipcx/ipcx.cxx b/filter/source/graphicfilter/ipcx/ipcx.cxx
index 32dc0d9..283cdeb 100644
--- a/filter/source/graphicfilter/ipcx/ipcx.cxx
+++ b/filter/source/graphicfilter/ipcx/ipcx.cxx
@@ -93,11 +93,6 @@ bool PCXReader::ReadPCX(Graphic & rGraphic)
if ( m_rPCX.GetError() )
return false;
- sal_uLong* pDummy = new sal_uLong; delete pDummy; // to achive that under OS/2
- // the right (Tools-) new is used
- // otherwise there are only Vector-news
- // in this DLL
-
m_rPCX.SetNumberFormatInt(NUMBERFORMAT_INT_LITTLEENDIAN);
// read header:
commit 569bf818cb5abfcfbe70eed19a5f8eb0aacc6395
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 15 11:10:57 2014 +0100
fix indent
Change-Id: If9f7154b204a1f5c0a0c6475988cf965fb5aadfe
diff --git a/sw/source/filter/ww8/ww8toolbar.cxx b/sw/source/filter/ww8/ww8toolbar.cxx
index 35be1a7..8ef92b5 100644
--- a/sw/source/filter/ww8/ww8toolbar.cxx
+++ b/sw/source/filter/ww8/ww8toolbar.cxx
@@ -1143,7 +1143,7 @@ MacroNames::MacroNames( bool bReadId ) : Tcg255SubStruct( bReadId )
MacroNames::~MacroNames()
{
- delete[] rgNames;
+ delete[] rgNames;
}
bool MacroNames::Read( SvStream &rS)
commit 169433f2945865c49402c43808b114d742a27d0b
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 15 11:10:14 2014 +0100
coverity#1242817 Untrusted loop bound
Change-Id: I974a80644f70c024f93d081a87204df8cadfa012
diff --git a/sw/source/filter/ww8/ww8toolbar.cxx b/sw/source/filter/ww8/ww8toolbar.cxx
index ffb210b..35be1a7 100644
--- a/sw/source/filter/ww8/ww8toolbar.cxx
+++ b/sw/source/filter/ww8/ww8toolbar.cxx
@@ -1105,6 +1105,8 @@ bool TcgSttbfCore::Read( SvStream& rS )
rS.ReadUInt16( fExtend ).ReadUInt16( cData ).ReadUInt16( cbExtra );
if ( cData )
{
+ if (cData > rS.remainingSize() / 4) //definitely an invalid record
+ return false;
dataItems = new SBBItem[ cData ];
for ( sal_Int32 index = 0; index < cData; ++index )
{
commit 1c118a9536ab7965bb7c3eedd312987ab224385b
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 15 11:04:58 2014 +0100
coverity#1242879 Untrusted value as argument
Change-Id: Iedcd30fc27e9984407c6752577a3ecb35d7dc075
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index d12a40d..1df4c60 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -3470,7 +3470,13 @@ void WW8PLCFx_SEPX::GetSprms(WW8PLCFxDesc* p)
nSprmSiz = nSiz;
}
else
+ {
pStrm->ReadUInt16( nSprmSiz );
+ }
+
+ sal_Size nRemaining = pStrm->remainingSize();
+ if (nSprmSiz > nRemaining)
+ nSprmSiz = nRemaining;
if( nSprmSiz > nArrMax )
{ // does not fit
commit 159ea0e04e0e284da14b474fc88546bedbf47ba2
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 15 10:52:40 2014 +0100
coverity#1242719 Untrusted value as argument
Change-Id: I444233dcf0a1e5e3792089be605b340b24882c89
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index 752c78e..d12a40d 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -2565,12 +2565,21 @@ WW8PLCFx_Fc_FKP::WW8Fkp::WW8Fkp(ww::WordVersion eVersion, SvStream* pSt,
{
sal_uInt32 nCurr = pDataSt->Tell();
sal_uInt32 nPos = SVBT32ToUInt32(aEntry.mpData + 2);
- if (checkSeek(*pDataSt, nPos))
+ sal_uInt16 nLen(0);
+
+ bool bOk = checkSeek(*pDataSt, nPos);
+ if (bOk)
+ {
+ pDataSt->ReadUInt16( nLen );
+ bOk = nLen <= pDataSt->remainingSize();
+ }
+
+ if (bOk)
{
const sal_uInt16 nOrigLen = bExpand ? aEntry.mnLen : 0;
sal_uInt8 *pOrigData = bExpand ? aEntry.mpData : 0;
- pDataSt->ReadUInt16( aEntry.mnLen );
+ aEntry.mnLen = nLen;
aEntry.mpData =
new sal_uInt8[aEntry.mnLen + nOrigLen];
aEntry.mbMustDelete = true;
commit e178c45a47c394fe50463aeee9e7996a7c03277f
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 15 10:45:30 2014 +0100
coverity#1242692 Untrusted value as argument
Change-Id: If0019caa34168b758f23e88363b94e91f8bd4c8a
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index 7d889bf..752c78e 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -1570,6 +1570,8 @@ WW8PLCFpcd* WW8ScannerBase::OpenPieceTable( SvStream* pStr, const WW8Fib* pWwF )
return NULL; // gone wrong
if( 1 == clxt ) // clxtGrpprl ?
{
+ if (nLen > pStr->remainingSize())
+ return NULL;
sal_uInt8* p = new sal_uInt8[nLen+2]; // allocate
ShortToSVBT16(nLen, p); // trage Laenge ein
if (!checkRead(*pStr, p+2, nLen)) // read grpprl
commit 0fc5d67a84cc1d5881765d51fe14416686efe2d1
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 15 10:40:37 2014 +0100
fix up indent
Change-Id: Icaa9b84aa0c3617248d8e52fcccfca928accaea1
diff --git a/sw/source/filter/ww8/ww8par2.cxx b/sw/source/filter/ww8/ww8par2.cxx
index 5c94876..8d2758e 100644
--- a/sw/source/filter/ww8/ww8par2.cxx
+++ b/sw/source/filter/ww8/ww8par2.cxx
@@ -4173,16 +4173,16 @@ void WW8RStyle::ImportOldFormatStyles()
rtl_TextEncoding eStructChrSet = WW8Fib::GetFIBCharset(
pIo->pWwFib->chseTables);
- sal_uInt16 cstcStd;
+ sal_uInt16 cstcStd(0);
rSt.ReadUInt16( cstcStd );
- sal_uInt16 cbName;
+ sal_uInt16 cbName(0);
rSt.ReadUInt16( cbName );
sal_uInt16 nByteCount = 2;
sal_uInt16 stcp=0;
while (nByteCount < cbName)
{
- sal_uInt8 nCount;
+ sal_uInt8 nCount(0);
rSt.ReadUChar( nCount );
nByteCount++;
@@ -4226,14 +4226,14 @@ void WW8RStyle::ImportOldFormatStyles()
sal_uInt16 nStyles=stcp;
std::vector<pxoffset> aCHPXOffsets(stcp);
- sal_uInt16 cbChpx;
+ sal_uInt16 cbChpx(0);
rSt.ReadUInt16( cbChpx );
nByteCount = 2;
stcp=0;
std::vector< std::vector<sal_uInt8> > aConvertedChpx;
while (nByteCount < cbChpx)
{
- sal_uInt8 cb;
+ sal_uInt8 cb(0);
rSt.ReadUChar( cb );
nByteCount++;
@@ -4257,20 +4257,20 @@ void WW8RStyle::ImportOldFormatStyles()
stcp++;
if (stcp == nStyles)
- {
+ {
rSt.SeekRel(cbChpx-nByteCount);
nByteCount += cbChpx-nByteCount;
- }
+ }
}
std::vector<pxoffset> aPAPXOffsets(stcp);
- sal_uInt16 cbPapx;
+ sal_uInt16 cbPapx(0);
rSt.ReadUInt16( cbPapx );
nByteCount = 2;
stcp=0;
while (nByteCount < cbPapx)
{
- sal_uInt8 cb;
+ sal_uInt8 cb(0);
rSt.ReadUChar( cb );
nByteCount++;
@@ -4278,7 +4278,7 @@ void WW8RStyle::ImportOldFormatStyles()
if (cb != 0xFF)
{
- sal_uInt8 stc2;
+ sal_uInt8 stc2(0);
rSt.ReadUChar( stc2 );
rSt.SeekRel(6);
nByteCount+=7;
@@ -4294,20 +4294,20 @@ void WW8RStyle::ImportOldFormatStyles()
stcp++;
if (stcp == nStyles)
- {
+ {
rSt.SeekRel(cbPapx-nByteCount);
nByteCount += cbPapx-nByteCount;
- }
+ }
}
- sal_uInt16 iMac;
+ sal_uInt16 iMac(0);
rSt.ReadUInt16( iMac );
if (iMac > nStyles) iMac = nStyles;
for (stcp = 0; stcp < iMac; ++stcp)
{
- sal_uInt8 stcNext, stcBase;
+ sal_uInt8 stcNext(0), stcBase(0);
rSt.ReadUChar( stcNext );
rSt.ReadUChar( stcBase );
commit 6832d9f0f0ba80b95cb3b25e14365dff5803c4b5
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 15 10:18:14 2014 +0100
coverity#735333 flush out pointless calls to IsRemote and IsOpen
etc.
Change-Id: I588d4486071b1e31897d4e6468a2c634d6856832
diff --git a/editeng/source/xml/xmltxtexp.cxx b/editeng/source/xml/xmltxtexp.cxx
index a0136a6..b59b3cf 100644
--- a/editeng/source/xml/xmltxtexp.cxx
+++ b/editeng/source/xml/xmltxtexp.cxx
@@ -419,7 +419,6 @@ void SvxWriteXML( EditEngine& rEditEngine, SvStream& rStream, const ESelection&
/* testcode
const OUString aURL( "file:///e:/test.xml" );
SfxMedium aMedium( aURL, STREAM_WRITE | STREAM_TRUNC, sal_True );
- aMedium.IsRemote();
uno::Reference<io::XOutputStream> xOut( new utl::OOutputStreamWrapper( *aMedium.GetOutStream() ) );
*/
diff --git a/editeng/source/xml/xmltxtimp.cxx b/editeng/source/xml/xmltxtimp.cxx
index d15a53f..fe10d8f 100644
--- a/editeng/source/xml/xmltxtimp.cxx
+++ b/editeng/source/xml/xmltxtimp.cxx
@@ -169,7 +169,6 @@ void SvxReadXML( EditEngine& rEditEngine, SvStream& rStream, const ESelection& r
/* testcode
const OUString aURL( "file:///e:/test.xml" );
SfxMedium aMedium( aURL, STREAM_READ | STREAM_NOCREATE, sal_True );
- aMedium.IsRemote();
uno::Reference<io::XOutputStream> xOut( new utl::OOutputStreamWrapper( *aMedium.GetOutStream() ) );
aMedium.GetInStream()->Seek( 0 );
diff --git a/include/sfx2/docfile.hxx b/include/sfx2/docfile.hxx
index 7d8f1ba..ff3a919 100644
--- a/include/sfx2/docfile.hxx
+++ b/include/sfx2/docfile.hxx
@@ -127,13 +127,13 @@ public:
const INetURLObject& GetURLObject() const;
void CheckFileDate( const css::util::DateTime& aInitDate );
- bool DocNeedsFileDateCheck();
+ SAL_WARN_UNUSED_RESULT bool DocNeedsFileDateCheck() const;
css::util::DateTime GetInitFileDate( bool bIgnoreOldValue );
css::uno::Reference< css::ucb::XContent > GetContent() const;
const OUString& GetPhysicalName() const;
- bool IsRemote() const;
- bool IsOpen() const; // { return aStorage.Is() || pInStream; }
+ SAL_WARN_UNUSED_RESULT bool IsRemote() const;
+ SAL_WARN_UNUSED_RESULT bool IsOpen() const; // { return aStorage.Is() || pInStream; }
void Download( const Link& aLink = Link());
void SetDoneLink( const Link& rLink );
@@ -167,21 +167,21 @@ public:
css::uno::Reference< css::embed::XStorage > GetStorage( bool bCreateTempIfNo = true );
css::uno::Reference< css::embed::XStorage > GetOutputStorage();
void ResetError();
- bool UsesCache() const;
+ SAL_WARN_UNUSED_RESULT bool UsesCache() const;
void SetUsesCache( bool );
- bool IsExpired() const;
+ SAL_WARN_UNUSED_RESULT bool IsExpired() const;
void SetName( const OUString& rName, bool bSetOrigURL = false );
- bool IsAllowedForExternalBrowser() const;
- long GetFileVersion() const;
+ SAL_WARN_UNUSED_RESULT bool IsAllowedForExternalBrowser() const;
+ SAL_WARN_UNUSED_RESULT long GetFileVersion() const;
const css::uno::Sequence < css::util::RevisionTag >&
GetVersionList( bool _bNoReload = false );
- bool IsReadOnly();
+ SAL_WARN_UNUSED_RESULT bool IsReadOnly() const;
// Whether the medium had originally been opened r/o, independent of later
// changes via SetOpenMode; used to keep track of the "true" state of the
// medium across toggles via SID_EDITDOC (which do change SetOpenMode):
- bool IsOriginallyReadOnly() const;
+ SAL_WARN_UNUSED_RESULT bool IsOriginallyReadOnly() const;
css::uno::Reference< css::io::XInputStream > GetInputStream();
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 54bb317..d190925 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -380,13 +380,11 @@ void SfxMedium::CheckFileDate( const util::DateTime& aInitDate )
}
}
-
-bool SfxMedium::DocNeedsFileDateCheck()
+bool SfxMedium::DocNeedsFileDateCheck() const
{
return ( !IsReadOnly() && ::utl::LocalFileHelper::IsLocalFile( GetURLObject().GetMainURL( INetURLObject::NO_DECODE ) ) );
}
-
util::DateTime SfxMedium::GetInitFileDate( bool bIgnoreOldValue )
{
if ( ( bIgnoreOldValue || !pImp->m_bGotDateTime ) && !pImp->m_aLogicName.isEmpty() )
@@ -3172,8 +3170,7 @@ bool SfxMedium::SaveVersionList_Impl( bool /*bUseXML*/ )
return false;
}
-
-bool SfxMedium::IsReadOnly()
+bool SfxMedium::IsReadOnly() const
{
// a) ReadOnly filter can't produce read/write contents!
bool bReadOnly = (
diff --git a/svx/source/xml/xmlxtexp.cxx b/svx/source/xml/xmlxtexp.cxx
index 475cb2c..3c5bb5c 100644
--- a/svx/source/xml/xmlxtexp.cxx
+++ b/svx/source/xml/xmlxtexp.cxx
@@ -246,7 +246,6 @@ bool SvxXMLXTableExportComponent::save(
else
{
pMedium = new SfxMedium( rURL, STREAM_WRITE | STREAM_TRUNC );
- pMedium->IsRemote();
SvStream* pStream = pMedium->GetOutStream();
if( !pStream )
commit cbc1176c14ae36293a9cb2acb895dc99111145d5
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 15 10:14:27 2014 +0100
SfxMedium::IsRemote can be made const
Change-Id: Id6b14366d11c15ec1440482cfb725e497807fa2e
diff --git a/include/sfx2/docfile.hxx b/include/sfx2/docfile.hxx
index 132e2ac..7d8f1ba 100644
--- a/include/sfx2/docfile.hxx
+++ b/include/sfx2/docfile.hxx
@@ -132,7 +132,7 @@ public:
css::uno::Reference< css::ucb::XContent > GetContent() const;
const OUString& GetPhysicalName() const;
- bool IsRemote();
+ bool IsRemote() const;
bool IsOpen() const; // { return aStorage.Is() || pInStream; }
void Download( const Link& aLink = Link());
void SetDoneLink( const Link& rLink );
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 8858245..54bb317 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -2352,20 +2352,16 @@ void SfxMedium::GetMedium_Impl()
}
}
-
-bool SfxMedium::IsRemote()
+bool SfxMedium::IsRemote() const
{
return pImp->m_bRemote;
}
-
-
void SfxMedium::SetUpdatePickList(bool bVal)
{
pImp->bUpdatePickList = bVal;
}
-
bool SfxMedium::IsUpdatePickList() const
{
return pImp->bUpdatePickList;
commit 44add3e1f1274410f88ab2c81e4c674a05456f91
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 15 10:11:12 2014 +0100
coverity#704088 Unchecked return value
Change-Id: I0fc00b445db0a6254adbfa335e6971c6787109d5
diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index 8a987f4..ec8eb6b 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -861,7 +861,7 @@ void ImplListBoxWindow::MouseButtonDown( const MouseEvent& rMEvt )
mnCurrentPos = nSelect;
mbTrackingSelect = true;
bool bCurPosChange = (mnCurrentPos != nSelect);
- SelectEntries( nSelect, LET_MBDOWN, rMEvt.IsShift(), rMEvt.IsMod1() ,bCurPosChange);
+ (void)SelectEntries( nSelect, LET_MBDOWN, rMEvt.IsShift(), rMEvt.IsMod1() ,bCurPosChange);
mbTrackingSelect = false;
if ( mbGrabFocus )
GrabFocus();
commit b0f26546cece3b1f251c83d29560b09577bfe2f4
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 15 10:06:43 2014 +0100
coverity#706322 Uncaught exception
and
coverity#706330 Uncaught exception
Change-Id: I105e37c88654cf47b50fe6b260b8994622305dab
diff --git a/connectivity/source/drivers/jdbc/CallableStatement.cxx b/connectivity/source/drivers/jdbc/CallableStatement.cxx
index 6638b55..a915b8c 100644
--- a/connectivity/source/drivers/jdbc/CallableStatement.cxx
+++ b/connectivity/source/drivers/jdbc/CallableStatement.cxx
@@ -140,7 +140,7 @@ sal_Int32 SAL_CALL java_sql_CallableStatement::getInt( sal_Int32 columnIndex ) t
SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!");
createStatement(t.pEnv);
static jmethodID mID(NULL);
- return callIntMethodWithIntArg("getInt",mID,columnIndex);
+ return callIntMethodWithIntArg_Throw("getInt",mID,columnIndex);
}
sal_Int64 SAL_CALL java_sql_CallableStatement::getLong( sal_Int32 columnIndex ) throw(css::sdbc::SQLException, RuntimeException, std::exception)
diff --git a/connectivity/source/drivers/jdbc/InputStream.cxx b/connectivity/source/drivers/jdbc/InputStream.cxx
index 41afbe8..f1cba90 100644
--- a/connectivity/source/drivers/jdbc/InputStream.cxx
+++ b/connectivity/source/drivers/jdbc/InputStream.cxx
@@ -62,7 +62,7 @@ sal_Int32 SAL_CALL java_io_InputStream::readSomeBytes( ::com::sun::star::uno::Se
void SAL_CALL java_io_InputStream::skipBytes( sal_Int32 nBytesToSkip ) throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- callIntMethodWithIntArg("skip",mID,nBytesToSkip);
+ callIntMethodWithIntArg_Nothrow("skip",mID,nBytesToSkip);
}
sal_Int32 SAL_CALL java_io_InputStream::available( ) throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
diff --git a/connectivity/source/drivers/jdbc/Object.cxx b/connectivity/source/drivers/jdbc/Object.cxx
index 37c8a41..5ca638f 100644
--- a/connectivity/source/drivers/jdbc/Object.cxx
+++ b/connectivity/source/drivers/jdbc/Object.cxx
@@ -284,7 +284,7 @@ sal_Int32 java_lang_Object::callIntMethod_Nothrow(const char* _pMethodName, jmet
return (sal_Int32)out;
}
-sal_Int32 java_lang_Object::callIntMethodWithIntArg( const char* _pMethodName, jmethodID& _inout_MethodID,sal_Int32 _nArgument ) const
+sal_Int32 java_lang_Object::callIntMethodWithIntArg_Throw( const char* _pMethodName, jmethodID& _inout_MethodID,sal_Int32 _nArgument ) const
{
SDBThreadAttach t;
OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
@@ -292,7 +292,17 @@ sal_Int32 java_lang_Object::callIntMethodWithIntArg( const char* _pMethodName, j
// call method
jint out( t.pEnv->CallIntMethod( object, _inout_MethodID , _nArgument) );
ThrowSQLException( t.pEnv, NULL );
+ return (sal_Int32)out;
+}
+sal_Int32 java_lang_Object::callIntMethodWithIntArg_Nothrow( const char* _pMethodName, jmethodID& _inout_MethodID,sal_Int32 _nArgument ) const
+{
+ SDBThreadAttach t;
+ OSL_ENSURE( t.pEnv, "java_lang_Object::callIntMethod: no Java environment anymore!" );
+ obtainMethodId(t.pEnv, _pMethodName,"(I)I", _inout_MethodID);
+ // call method
+ jint out( t.pEnv->CallIntMethod( object, _inout_MethodID , _nArgument) );
+ isExceptionOccurred(t.pEnv,true);
return (sal_Int32)out;
}
diff --git a/connectivity/source/drivers/jdbc/Reader.cxx b/connectivity/source/drivers/jdbc/Reader.cxx
index 3907da7..b62da3a 100644
--- a/connectivity/source/drivers/jdbc/Reader.cxx
+++ b/connectivity/source/drivers/jdbc/Reader.cxx
@@ -52,7 +52,7 @@ sal_Int32 SAL_CALL java_io_Reader::readSomeBytes( ::com::sun::star::uno::Sequenc
void SAL_CALL java_io_Reader::skipBytes( sal_Int32 nBytesToSkip ) throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- callIntMethodWithIntArg("skip",mID,nBytesToSkip);
+ callIntMethodWithIntArg_Nothrow("skip",mID,nBytesToSkip);
}
sal_Int32 SAL_CALL java_io_Reader::available( ) throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException, std::exception)
diff --git a/connectivity/source/drivers/jdbc/ResultSet.cxx b/connectivity/source/drivers/jdbc/ResultSet.cxx
index 279f944..0f20a75 100644
--- a/connectivity/source/drivers/jdbc/ResultSet.cxx
+++ b/connectivity/source/drivers/jdbc/ResultSet.cxx
@@ -217,7 +217,7 @@ float SAL_CALL java_sql_ResultSet::getFloat( sal_Int32 columnIndex ) throw(SQLEx
sal_Int32 SAL_CALL java_sql_ResultSet::getInt( sal_Int32 columnIndex ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return callIntMethodWithIntArg("getInt",mID,columnIndex);
+ return callIntMethodWithIntArg_Throw("getInt",mID,columnIndex);
}
diff --git a/connectivity/source/drivers/jdbc/ResultSetMetaData.cxx b/connectivity/source/drivers/jdbc/ResultSetMetaData.cxx
index 91c548a..6dcd5da 100644
--- a/connectivity/source/drivers/jdbc/ResultSetMetaData.cxx
+++ b/connectivity/source/drivers/jdbc/ResultSetMetaData.cxx
@@ -58,14 +58,14 @@ jclass java_sql_ResultSetMetaData::getMyClass() const
sal_Int32 SAL_CALL java_sql_ResultSetMetaData::getColumnDisplaySize( sal_Int32 column ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return callIntMethodWithIntArg("getColumnDisplaySize",mID,column);
+ return callIntMethodWithIntArg_Throw("getColumnDisplaySize",mID,column);
}
sal_Int32 SAL_CALL java_sql_ResultSetMetaData::getColumnType( sal_Int32 column ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return callIntMethodWithIntArg("getColumnType",mID,column);
+ return callIntMethodWithIntArg_Throw("getColumnType",mID,column);
}
@@ -157,19 +157,19 @@ sal_Bool SAL_CALL java_sql_ResultSetMetaData::isSigned( sal_Int32 column ) throw
sal_Int32 SAL_CALL java_sql_ResultSetMetaData::getPrecision( sal_Int32 column ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return callIntMethodWithIntArg("getPrecision",mID,column);
+ return callIntMethodWithIntArg_Throw("getPrecision",mID,column);
}
sal_Int32 SAL_CALL java_sql_ResultSetMetaData::getScale( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return callIntMethodWithIntArg("getScale",mID,column);
+ return callIntMethodWithIntArg_Throw("getScale",mID,column);
}
sal_Int32 SAL_CALL java_sql_ResultSetMetaData::isNullable( sal_Int32 column ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return callIntMethodWithIntArg("isNullable",mID,column);
+ return callIntMethodWithIntArg_Throw("isNullable",mID,column);
}
diff --git a/connectivity/source/inc/java/lang/Object.hxx b/connectivity/source/inc/java/lang/Object.hxx
index cf46e58..28b4e43 100644
--- a/connectivity/source/inc/java/lang/Object.hxx
+++ b/connectivity/source/inc/java/lang/Object.hxx
@@ -116,7 +116,8 @@ namespace connectivity
jobject callResultSetMethod( JNIEnv& _rEnv, const char* _pMethodName, jmethodID& _inout_MethodID ) const;
sal_Int32 callIntMethod_Throw(const char* _pMethodName, jmethodID& _inout_MethodID) const;
sal_Int32 callIntMethod_Nothrow(const char* _pMethodName, jmethodID& _inout_MethodID) const;
- sal_Int32 callIntMethodWithIntArg( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const;
+ sal_Int32 callIntMethodWithIntArg_Throw( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const;
+ sal_Int32 callIntMethodWithIntArg_Nothrow( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument ) const;
sal_Int32 callIntMethodWithStringArg( const char* _pMethodName, jmethodID& _inout_MethodID,const OUString& _nArgument ) const;
OUString callStringMethod( const char* _pMethodName, jmethodID& _inout_MethodID ) const;
OUString callStringMethodWithIntArg( const char* _pMethodName, jmethodID& _inout_MethodID , sal_Int32 _nArgument) const;
commit 405a61f916ba3da4f2fa9d27ab4f0cc287eed1a6
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Oct 15 10:00:43 2014 +0100
coverity#706318 Uncaught exception
and
coverity#706317 Uncaught exception
Change-Id: Idd01f4ba68b1ce6590d6c7b79bcff9593f0766ea
diff --git a/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx b/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx
index 63b73cd..2b7e5e6 100644
--- a/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx
+++ b/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx
@@ -241,73 +241,73 @@ Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getVersionColumns(
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxBinaryLiteralLength( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxBinaryLiteralLength", mID);
+ return impl_callIntMethod_Throw("getMaxBinaryLiteralLength", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxRowSize( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxRowSize", mID);
+ return impl_callIntMethod_Throw("getMaxRowSize", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxCatalogNameLength( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxCatalogNameLength", mID);
+ return impl_callIntMethod_Throw("getMaxCatalogNameLength", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxCharLiteralLength( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxCharLiteralLength", mID);
+ return impl_callIntMethod_Throw("getMaxCharLiteralLength", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxColumnNameLength( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxColumnNameLength", mID);
+ return impl_callIntMethod_Throw("getMaxColumnNameLength", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxColumnsInIndex( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxColumnsInIndex", mID);
+ return impl_callIntMethod_Throw("getMaxColumnsInIndex", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxCursorNameLength( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxCursorNameLength", mID);
+ return impl_callIntMethod_Throw("getMaxCursorNameLength", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxConnections( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxConnections", mID);
+ return impl_callIntMethod_Throw("getMaxConnections", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxColumnsInTable( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxColumnsInTable", mID);
+ return impl_callIntMethod_Throw("getMaxColumnsInTable", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxStatementLength( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxStatementLength", mID);
+ return impl_callIntMethod_Throw("getMaxStatementLength", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxTableNameLength( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxTableNameLength", mID);
+ return impl_callIntMethod_Throw("getMaxTableNameLength", mID);
}
sal_Int32 java_sql_DatabaseMetaData::impl_getMaxTablesInSelect_throw( )
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxTablesInSelect", mID);
+ return impl_callIntMethod_Throw("getMaxTablesInSelect", mID);
}
Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getExportedKeys(
@@ -563,8 +563,7 @@ OUString java_sql_DatabaseMetaData::impl_callStringMethod( const char* _pMethodN
return sReturn;
}
-
-sal_Int32 java_sql_DatabaseMetaData::impl_callIntMethod( const char* _pMethodName, jmethodID& _inout_MethodID )
+sal_Int32 java_sql_DatabaseMetaData::impl_callIntMethod_Throw(const char* _pMethodName, jmethodID& _inout_MethodID)
{
m_aLogger.log( LogLevel::FINEST, STR_LOG_META_DATA_METHOD, _pMethodName );
sal_Int32 out( (sal_Int32)callIntMethod_Throw(_pMethodName,_inout_MethodID) );
@@ -572,6 +571,13 @@ sal_Int32 java_sql_DatabaseMetaData::impl_callIntMethod( const char* _pMethodNam
return out;
}
+sal_Int32 java_sql_DatabaseMetaData::impl_callIntMethod_Nothrow(const char* _pMethodName, jmethodID& _inout_MethodID)
+{
+ m_aLogger.log( LogLevel::FINEST, STR_LOG_META_DATA_METHOD, _pMethodName );
+ sal_Int32 out( (sal_Int32)callIntMethod_Nothrow(_pMethodName,_inout_MethodID) );
+ m_aLogger.log( LogLevel::FINEST, STR_LOG_META_DATA_RESULT, _pMethodName, (sal_Int32)out );
+ return out;
+}
bool java_sql_DatabaseMetaData::impl_callBooleanMethodWithIntArg( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument )
{
@@ -722,7 +728,7 @@ bool java_sql_DatabaseMetaData::impl_supportsAlterTableWithDropColumn_throw( )
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxIndexLength( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxIndexLength", mID);
+ return impl_callIntMethod_Throw("getMaxIndexLength", mID);
}
sal_Bool SAL_CALL java_sql_DatabaseMetaData::supportsNonNullableColumns( ) throw(SQLException, RuntimeException, std::exception)
@@ -896,19 +902,19 @@ Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getTableTypes( ) th
sal_Int32 java_sql_DatabaseMetaData::impl_getMaxStatements_throw( )
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxStatements", mID);
+ return impl_callIntMethod_Throw("getMaxStatements", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxProcedureNameLength( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxProcedureNameLength", mID);
+ return impl_callIntMethod_Throw("getMaxProcedureNameLength", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxSchemaNameLength( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxSchemaNameLength", mID);
+ return impl_callIntMethod_Throw("getMaxSchemaNameLength", mID);
}
sal_Bool SAL_CALL java_sql_DatabaseMetaData::supportsTransactions( ) throw(SQLException, RuntimeException, std::exception)
@@ -1215,19 +1221,19 @@ OUString SAL_CALL java_sql_DatabaseMetaData::getSchemaTerm( ) throw(SQLExceptio
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getDriverMajorVersion( ) throw(RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getDriverMajorVersion", mID);
+ return impl_callIntMethod_Nothrow("getDriverMajorVersion", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getDefaultTransactionIsolation( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getDefaultTransactionIsolation", mID);
+ return impl_callIntMethod_Throw("getDefaultTransactionIsolation", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getDriverMinorVersion( ) throw(RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getDriverMinorVersion", mID);
+ return impl_callIntMethod_Nothrow("getDriverMinorVersion", mID);
}
OUString SAL_CALL java_sql_DatabaseMetaData::getSQLKeywords( ) throw(SQLException, RuntimeException, std::exception)
@@ -1299,25 +1305,25 @@ sal_Bool SAL_CALL java_sql_DatabaseMetaData::supportsLimitedOuterJoins( ) throw
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxColumnsInGroupBy( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxColumnsInGroupBy", mID);
+ return impl_callIntMethod_Throw("getMaxColumnsInGroupBy", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxColumnsInOrderBy( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxColumnsInOrderBy", mID);
+ return impl_callIntMethod_Throw("getMaxColumnsInOrderBy", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxColumnsInSelect( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxColumnsInSelect", mID);
+ return impl_callIntMethod_Throw("getMaxColumnsInSelect", mID);
}
sal_Int32 SAL_CALL java_sql_DatabaseMetaData::getMaxUserNameLength( ) throw(SQLException, RuntimeException, std::exception)
{
static jmethodID mID(NULL);
- return impl_callIntMethod("getMaxUserNameLength", mID);
+ return impl_callIntMethod_Throw("getMaxUserNameLength", mID);
}
sal_Bool SAL_CALL java_sql_DatabaseMetaData::supportsResultSetType( sal_Int32 setType ) throw(SQLException, RuntimeException, std::exception)
diff --git a/connectivity/source/inc/java/sql/DatabaseMetaData.hxx b/connectivity/source/inc/java/sql/DatabaseMetaData.hxx
index 84f077f..bd704a8 100644
--- a/connectivity/source/inc/java/sql/DatabaseMetaData.hxx
+++ b/connectivity/source/inc/java/sql/DatabaseMetaData.hxx
@@ -202,7 +202,8 @@ namespace connectivity
private:
bool impl_callBooleanMethod( const char* _pMethodName, jmethodID& _inout_MethodID );
OUString impl_callStringMethod( const char* _pMethodName, jmethodID& _inout_MethodID );
- sal_Int32 impl_callIntMethod( const char* _pMethodName, jmethodID& _inout_MethodID );
+ sal_Int32 impl_callIntMethod_Throw( const char* _pMethodName, jmethodID& _inout_MethodID );
+ sal_Int32 impl_callIntMethod_Nothrow( const char* _pMethodName, jmethodID& _inout_MethodID );
bool impl_callBooleanMethodWithIntArg( const char* _pMethodName, jmethodID& _inout_MethodID, sal_Int32 _nArgument );
::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet >
impl_callResultSetMethod( const char* _pMethodName, jmethodID& _inout_MethodID );
commit 7f7d2213209dd8e23292ec5a85fbab6127824c49
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Oct 13 10:25:26 2014 +0100
osl_Module -> osl::Module
related coverity#1242504 Resource leak but it still leaks a dlopen
handle here of course
Change-Id: Iaf692e7b2753c1c0af580e236bc147dc30a39e9f
diff --git a/sfx2/source/appl/appinit.cxx b/sfx2/source/appl/appinit.cxx
index f5a4682..dfbed1e 100644
--- a/sfx2/source/appl/appinit.cxx
+++ b/sfx2/source/appl/appinit.cxx
@@ -178,14 +178,14 @@ OUString GetSpecialCharsForEdit(vcl::Window* pParent, const vcl::Font& rFont)
bDetermineFunction = true;
#ifndef DISABLE_DYNLOADING
- static OUString aLibName( SVLIBRARY( "cui" ) );
- oslModule handleMod = osl_loadModuleRelative(
- &thisModule, aLibName.pData, 0 );
+ osl::Module aMod;
+ aMod.loadRelative(&thisModule, "cui", 0);
// get symbol
OUString aSymbol( "GetSpecialCharsForEdit" );
- pfunc_getSpecialCharsForEdit = (PFunc_getSpecialCharsForEdit)osl_getFunctionSymbol( handleMod, aSymbol.pData );
+ pfunc_getSpecialCharsForEdit = (PFunc_getSpecialCharsForEdit)aMod.getFunctionSymbol(aSymbol);
DBG_ASSERT( pfunc_getSpecialCharsForEdit, "GetSpecialCharsForEdit() not found!" );
+ aMod.release();
#else
pfunc_getSpecialCharsForEdit = GetSpecialCharsForEdit;
#endif
More information about the Libreoffice-commits
mailing list