diff options
author | Matthew J. Francis <mjay.francis@gmail.com> | 2014-09-20 12:14:41 +0800 |
---|---|---|
committer | Noel Grandin <noelgrandin@gmail.com> | 2014-09-22 05:15:53 +0000 |
commit | 764e3016b62665281539af4e990ca4ff0445c26c (patch) | |
tree | f5ec6b10fa76e3f622d26095981e5c1a92c2485f /connectivity | |
parent | 935e8fc98c033680029e4531747a2f680f50d5ca (diff) |
fdo#84086 Fix assorted use-after-free bugs
Change-Id: Iec004fffdb0afbe27bd69f379db90f6d904a8a65
Reviewed-on: https://gerrit.libreoffice.org/11553
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
Diffstat (limited to 'connectivity')
4 files changed, 7 insertions, 14 deletions
diff --git a/connectivity/source/drivers/mork/MStatement.cxx b/connectivity/source/drivers/mork/MStatement.cxx index 1ee4b8c62c98..3dd425e9ec4e 100644 --- a/connectivity/source/drivers/mork/MStatement.cxx +++ b/connectivity/source/drivers/mork/MStatement.cxx @@ -196,8 +196,6 @@ OCommonStatement::StatementType OCommonStatement::parseSql( const OUString& sql #if OSL_DEBUG_LEVEL > 0 { - const char* str = OUtoCStr(sql); - OSL_UNUSED( str ); OSL_TRACE("ParseSQL: %s", OUtoCStr( sql ) ); } #endif // OSL_DEBUG_LEVEL diff --git a/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx b/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx index ecc8bdaa9168..79dce14e7433 100644 --- a/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx +++ b/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx @@ -1180,14 +1180,14 @@ void ODatabaseMetaDataResultSet::openForeignKeys( const Any& catalog, const OUSt const Any& catalog2, const OUString* schema2, const OUString* table2) throw(SQLException, RuntimeException) { - OString aPKQ, aPKN, aFKQ, aFKO, aFKN; + OString aPKQ, aPKO, aPKN, aFKQ, aFKO, aFKN; if ( catalog.hasValue() ) aPKQ = OUStringToOString(comphelper::getString(catalog),m_nTextEncoding); if ( catalog2.hasValue() ) aFKQ = OUStringToOString(comphelper::getString(catalog2),m_nTextEncoding); const char *pPKQ = catalog.hasValue() && !aPKQ.isEmpty() ? aPKQ.getStr() : NULL, - *pPKO = schema && !schema->isEmpty() ? OUStringToOString(*schema,m_nTextEncoding).getStr() : NULL, + *pPKO = schema && !schema->isEmpty() ? (aPKO = OUStringToOString(*schema,m_nTextEncoding)).getStr() : NULL, *pPKN = table ? (aPKN = OUStringToOString(*table,m_nTextEncoding)).getStr(): NULL, *pFKQ = catalog2.hasValue() && !aFKQ.isEmpty() ? aFKQ.getStr() : NULL, *pFKO = schema2 && !schema2->isEmpty() ? (aFKO = OUStringToOString(*schema2,m_nTextEncoding)).getStr() : NULL, diff --git a/connectivity/workben/testmoz/main.cxx b/connectivity/workben/testmoz/main.cxx index 7051ef2e28d4..0b49ea3e2596 100644 --- a/connectivity/workben/testmoz/main.cxx +++ b/connectivity/workben/testmoz/main.cxx @@ -82,8 +82,7 @@ void printColumns( Reference<XResultSet> &xRes ) printf( "ColumnCount = %d\n", xMeta->getColumnCount()); for(sal_Int32 i=1;i<=xMeta->getColumnCount();++i) { - const char *str = OUtoCStr(xMeta->getColumnName(i)); - printf( aPat, str ); + printf( aPat, OUtoCStr(xMeta->getColumnName(i) ); } printf("\n"); printf("------------------------------------------------------------------------------------------\n"); @@ -100,8 +99,7 @@ void printXResultSet( Reference<XResultSet> &xRes ) for(sal_Int32 j=1;j<=xMeta->getColumnCount();++j) { try { - const char *str = OUtoCStr(xRow->getString(j)); - printf( aPat_Short, str ); + printf( aPat_Short, OUtoCStr(xRow->getString(j)) ); } catch (...) { printf(" Ex "); } diff --git a/connectivity/workben/testmoz/mozthread.cxx b/connectivity/workben/testmoz/mozthread.cxx index 48ab7b1f68eb..527d2f34373a 100644 --- a/connectivity/workben/testmoz/mozthread.cxx +++ b/connectivity/workben/testmoz/mozthread.cxx @@ -102,8 +102,7 @@ void printColumns( Reference<XResultSet> &xRes ) OSL_TRACE( "ColumnCount = %d", xMeta->getColumnCount()); for(sal_Int32 i=1;i<=xMeta->getColumnCount();++i) { - const char *str = OUtoCStr(xMeta->getColumnName(i)); - OSL_TRACE( aPat, str ); + OSL_TRACE( aPat, OUtoCStr(xMeta->getColumnName(i) ); } OSL_TRACE("\n"); OSL_TRACE("------------------------------------------------------------------------------------------"); @@ -125,8 +124,7 @@ void printXResultSet( Reference<XResultSet> &xRes ) { try { - const char *str = OUtoCStr(xRow->getString(j)); - OSL_TRACE( aPat_Short, str ); + OSL_TRACE( aPat_Short, OUtoCStr(xRow->getString(j) ); } catch (...) { OSL_TRACE(" Ex "); } @@ -235,8 +233,7 @@ void TestQuery(Reference< ::com::sun::star::sdbc::XConnection> &pConnection) while( xRes.is() && xRes->next()) { Reference<XRow> xRow(xRes,UNO_QUERY); - const char *strTableName = OUtoCStr(xRow->getString(3)); - OSL_TRACE("Testing Table:%s",strTableName); + OSL_TRACE("Testing Table:%s",OUtoCStr(xRow->getString(3)); Reference<XResultSet> tmpRes = xStmt->executeQuery(sqlPrefix + qut + xRow->getString(3) + qut); |