summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-03-11 11:06:57 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-03-25 07:19:13 +0100
commitb1cfdb7bee4f7af97af54e6abbc5d04aed4ba082 (patch)
tree8211ea564e36152b9eeb7be7212342d9e82800c6 /connectivity
parent26b81b23f0ad061b6d44fcea3e07ae4b18a63f94 (diff)
new loplugin:unoquery
look for places we are doing code like: Reference<XProperty>(model, css::uno::UNO_QUERY)->getAsProperty() which might result in a SIGSEGV is the query fails Change-Id: I5cbdbc9e64bd0bed588297c512bf60cbacb9442e Reviewed-on: https://gerrit.libreoffice.org/69044 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/component/CTable.cxx2
-rw-r--r--connectivity/source/drivers/dbase/DTable.cxx4
-rw-r--r--connectivity/source/drivers/file/FConnection.cxx2
-rw-r--r--connectivity/source/drivers/file/FStatement.cxx6
-rw-r--r--connectivity/source/drivers/file/fcomp.cxx2
-rw-r--r--connectivity/source/drivers/flat/ETable.cxx2
-rw-r--r--connectivity/source/drivers/postgresql/pq_connection.cxx5
7 files changed, 12 insertions, 11 deletions
diff --git a/connectivity/source/drivers/component/CTable.cxx b/connectivity/source/drivers/component/CTable.cxx
index b260843b7c16..2bc92ecfae6d 100644
--- a/connectivity/source/drivers/component/CTable.cxx
+++ b/connectivity/source/drivers/component/CTable.cxx
@@ -84,7 +84,7 @@ void OComponentTable::refreshColumns()
::std::vector< OUString> aVector;
for(const auto& rxColumn : m_aColumns->get())
- aVector.push_back(Reference< XNamed>(rxColumn,UNO_QUERY)->getName());
+ aVector.push_back(Reference< XNamed>(rxColumn,UNO_QUERY_THROW)->getName());
if(m_xColumns)
m_xColumns->reFill(aVector);
diff --git a/connectivity/source/drivers/dbase/DTable.cxx b/connectivity/source/drivers/dbase/DTable.cxx
index 1f901f363d9b..d8a65d0cd241 100644
--- a/connectivity/source/drivers/dbase/DTable.cxx
+++ b/connectivity/source/drivers/dbase/DTable.cxx
@@ -641,7 +641,7 @@ void ODbaseTable::refreshColumns()
aVector.reserve(m_aColumns->get().size());
for (auto const& column : m_aColumns->get())
- aVector.push_back(Reference< XNamed>(column,UNO_QUERY)->getName());
+ aVector.push_back(Reference< XNamed>(column,UNO_QUERY_THROW)->getName());
if(m_xColumns)
m_xColumns->reFill(aVector);
@@ -1605,7 +1605,7 @@ Reference<XPropertySet> ODbaseTable::isUniqueByColumnName(sal_Int32 _nColumnPos)
xIndex.set(m_xIndexes->getByIndex(i), css::uno::UNO_QUERY);
if(xIndex.is() && getBOOL(xIndex->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISUNIQUE))))
{
- Reference<XNameAccess> xCols(Reference<XColumnsSupplier>(xIndex,UNO_QUERY)->getColumns());
+ Reference<XNameAccess> xCols(Reference<XColumnsSupplier>(xIndex,UNO_QUERY_THROW)->getColumns());
if(xCols->hasByName(sColName))
return xIndex;
diff --git a/connectivity/source/drivers/file/FConnection.cxx b/connectivity/source/drivers/file/FConnection.cxx
index c7ca89eec114..afa6cc598668 100644
--- a/connectivity/source/drivers/file/FConnection.cxx
+++ b/connectivity/source/drivers/file/FConnection.cxx
@@ -179,7 +179,7 @@ void OConnection::construct(const OUString& url,const Sequence< PropertyValue >&
}
else if (aFile.isDocument())
{
- Reference<XContent> xParent(Reference<XChild>(aFile.get(),UNO_QUERY)->getParent(),UNO_QUERY);
+ Reference<XContent> xParent(Reference<XChild>(aFile.get(),UNO_QUERY_THROW)->getParent(),UNO_QUERY_THROW);
Reference<XContentIdentifier> xIdent = xParent->getIdentifier();
m_xContent = xParent;
diff --git a/connectivity/source/drivers/file/FStatement.cxx b/connectivity/source/drivers/file/FStatement.cxx
index 5cd6bb8267e1..975b0d12d7a0 100644
--- a/connectivity/source/drivers/file/FStatement.cxx
+++ b/connectivity/source/drivers/file/FStatement.cxx
@@ -478,7 +478,7 @@ void OStatement_Base::GetAssignValues()
// Create Row for the values to be set (Reference through new)
if(m_aAssignValues.is())
m_aAssignValues->get().clear();
- sal_Int32 nCount = Reference<XIndexAccess>(m_xColNames,UNO_QUERY)->getCount();
+ sal_Int32 nCount = Reference<XIndexAccess>(m_xColNames,UNO_QUERY_THROW)->getCount();
m_aAssignValues = new OAssignValues(nCount);
// unbound all
std::for_each(m_aAssignValues->get().begin()+1,m_aAssignValues->get().end(),TSetRefBound(false));
@@ -565,7 +565,7 @@ void OStatement_Base::GetAssignValues()
{
if(m_aAssignValues.is())
m_aAssignValues->get().clear();
- sal_Int32 nCount = Reference<XIndexAccess>(m_xColNames,UNO_QUERY)->getCount();
+ sal_Int32 nCount = Reference<XIndexAccess>(m_xColNames,UNO_QUERY_THROW)->getCount();
m_aAssignValues = new OAssignValues(nCount);
// unbound all
std::for_each(m_aAssignValues->get().begin()+1,m_aAssignValues->get().end(),TSetRefBound(false));
@@ -642,7 +642,7 @@ void OStatement_Base::SetAssignValue(const OUString& aColumnName,
{
Reference<XPropertySet> xCol;
m_xColNames->getByName(aColumnName) >>= xCol;
- sal_Int32 nId = Reference<XColumnLocate>(m_xColNames,UNO_QUERY)->findColumn(aColumnName);
+ sal_Int32 nId = Reference<XColumnLocate>(m_xColNames,UNO_QUERY_THROW)->findColumn(aColumnName);
// does this column actually exist in the file?
if (!xCol.is())
diff --git a/connectivity/source/drivers/file/fcomp.cxx b/connectivity/source/drivers/file/fcomp.cxx
index 63cbd0abb9b2..7de9c5fb60dc 100644
--- a/connectivity/source/drivers/file/fcomp.cxx
+++ b/connectivity/source/drivers/file/fcomp.cxx
@@ -439,7 +439,7 @@ OOperand* OPredicateCompiler::execute_Operand(OSQLParseNode const * pPredicateNo
{
if (m_orgColumns->getByName(aColumnName) >>= xCol)
{
- pOperand = OSQLAnalyzer::createOperandAttr(Reference< XColumnLocate>(m_orgColumns,UNO_QUERY)->findColumn(aColumnName),xCol);
+ pOperand = OSQLAnalyzer::createOperandAttr(Reference< XColumnLocate>(m_orgColumns,UNO_QUERY_THROW)->findColumn(aColumnName),xCol);
}
else
{// Column doesn't exist in the Result-set
diff --git a/connectivity/source/drivers/flat/ETable.cxx b/connectivity/source/drivers/flat/ETable.cxx
index 1d4d3baafd63..8dc7903cd11c 100644
--- a/connectivity/source/drivers/flat/ETable.cxx
+++ b/connectivity/source/drivers/flat/ETable.cxx
@@ -501,7 +501,7 @@ void OFlatTable::refreshColumns()
aVector.reserve(m_aColumns->get().size());
for (auto const& column : m_aColumns->get())
- aVector.push_back(Reference< XNamed>(column,UNO_QUERY)->getName());
+ aVector.push_back(Reference< XNamed>(column,UNO_QUERY_THROW)->getName());
if(m_xColumns)
m_xColumns->reFill(aVector);
diff --git a/connectivity/source/drivers/postgresql/pq_connection.cxx b/connectivity/source/drivers/postgresql/pq_connection.cxx
index 74afc570154d..a950bde8b051 100644
--- a/connectivity/source/drivers/postgresql/pq_connection.cxx
+++ b/connectivity/source/drivers/postgresql/pq_connection.cxx
@@ -81,6 +81,7 @@ using com::sun::star::uno::Sequence;
using com::sun::star::uno::Reference;
using com::sun::star::uno::XInterface;
using com::sun::star::uno::UNO_QUERY;
+using com::sun::star::uno::UNO_QUERY_THROW;
using com::sun::star::uno::XComponentContext;
using com::sun::star::uno::Any;
@@ -607,7 +608,7 @@ Reference< XNameAccess > Connection::getTables()
m_settings.tables = Tables::create( m_xMutex, this, &m_settings , &m_settings.pTablesImpl);
else
// TODO: how to overcome the performance problem ?
- Reference< css::util::XRefreshable > ( m_settings.tables, UNO_QUERY )->refresh();
+ Reference< css::util::XRefreshable > ( m_settings.tables, UNO_QUERY_THROW )->refresh();
return m_settings.tables;
}
@@ -622,7 +623,7 @@ Reference< XNameAccess > Connection::getViews()
m_settings.views = Views::create( m_xMutex, this, &m_settings, &(m_settings.pViewsImpl) );
else
// TODO: how to overcome the performance problem ?
- Reference< css::util::XRefreshable > ( m_settings.views, UNO_QUERY )->refresh();
+ Reference< css::util::XRefreshable > ( m_settings.views, UNO_QUERY_THROW )->refresh();
return m_settings.views;
}