connectivity/source/drivers/dbase/DTable.cxx | 7 +++++++ svl/source/fsstor/fsstorage.cxx | 2 +- xmloff/source/draw/shapeexport.cxx | 6 +++--- 3 files changed, 11 insertions(+), 4 deletions(-)
New commits: commit efcbc6ba1952314d44efbfbe4c63de4428e593a9 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Sat Jul 13 21:03:19 2024 +0100 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Mon Jul 15 11:56:14 2024 +0200 cid#1608181 Double lock Change-Id: Id6121213f11c4ce0c855a0937fd2d7c81946c076 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170446 Tested-by: Caolán McNamara <caolan.mcnam...@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> (cherry picked from commit 2f3d6cf4d8d6a6aa48bf5d080451214360c9a81c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170469 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> Tested-by: Jenkins diff --git a/svl/source/fsstor/fsstorage.cxx b/svl/source/fsstor/fsstorage.cxx index 74895d153536..95f498b71ce2 100644 --- a/svl/source/fsstor/fsstorage.cxx +++ b/svl/source/fsstor/fsstorage.cxx @@ -546,7 +546,7 @@ void SAL_CALL FSStorage::copyStorageElementLastCommitTo( { std::unique_lock aGuard( m_aMutex ); - uno::Reference< embed::XStorage > xSourceStor( openStorageElement( aStorName, embed::ElementModes::READ ), + uno::Reference< embed::XStorage > xSourceStor( openStorageElementImpl(aGuard, aStorName, embed::ElementModes::READ), uno::UNO_SET_THROW ); xSourceStor->copyToStorage( xTargetStorage ); } commit 1be3860fd9877ea62bfae965f24da52b4c2f26e5 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Sat Jul 13 20:05:08 2024 +0100 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Mon Jul 15 11:56:10 2024 +0200 cid#1608516 Overflowed constant Change-Id: I0d494f512a45e93933fdb03f64238f12ed2570a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170440 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Jenkins (cherry picked from commit 524ec386b2438fbcda42a1264ad372285a91be7f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170471 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/connectivity/source/drivers/dbase/DTable.cxx b/connectivity/source/drivers/dbase/DTable.cxx index 22caafc43fc6..cd42c6d8fa42 100644 --- a/connectivity/source/drivers/dbase/DTable.cxx +++ b/connectivity/source/drivers/dbase/DTable.cxx @@ -2683,7 +2683,14 @@ bool ODbaseTable::ReadMemo(std::size_t nBlockNo, ORowSetValue& aVariable) (*m_pMemoStream).ReadUInt32( nLength ); if (m_aMemoHeader.db_typ == MemodBaseIV) + { + if (nLength < 8) + { + SAL_WARN("connectivity.drivers", "Size too small"); + return false; + } nLength -= 8; + } if ( nLength ) { commit 8ddb1cf50e3e981fd1863dae4c56b97919fae22c Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Sat Jul 13 19:54:29 2024 +0100 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Mon Jul 15 11:56:02 2024 +0200 cid#1608584 Overflowed constant Change-Id: Ieefa43899f84938ba12227b30a2c9b273ac2c202 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170437 Tested-by: Caolán McNamara <caolan.mcnam...@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> (cherry picked from commit b904816f7375ef63c6c86578bed58f8dc06b6125) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170470 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx index 9463b3e64eb8..65709b7bfba3 100644 --- a/xmloff/source/draw/shapeexport.cxx +++ b/xmloff/source/draw/shapeexport.cxx @@ -2416,9 +2416,9 @@ OUString getNameFromStreamURL(std::u16string_view rURL) if (o3tl::starts_with(rURL, sPackageURL)) { std::u16string_view sRequestedName = rURL.substr(sPackageURL.size()); - size_t nLastIndex = sRequestedName.rfind('/') + 1; - if ((nLastIndex > 0) && (nLastIndex < sRequestedName.size())) - sRequestedName = sRequestedName.substr(nLastIndex); + size_t nLastIndex = sRequestedName.rfind('/'); + if (nLastIndex != std::u16string_view::npos && nLastIndex + 1 < sRequestedName.size()) + sRequestedName = sRequestedName.substr(nLastIndex + 1); nLastIndex = sRequestedName.rfind('.'); if (nLastIndex != std::u16string_view::npos) sRequestedName = sRequestedName.substr(0, nLastIndex);