sw/source/core/unocore/unofield.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
New commits: commit d703c8f64c6cd650bb753cf1f6f39b3e81f06a41 Author: Stephan Bergmann <sberg...@redhat.com> Date: Wed Oct 9 18:56:40 2013 +0200 rtl::OUString::copy needs to check for out-of-bounds ...regression introduced by 5089bdb234a93bcb62b597c18b8ab66048246b13 "Related: fdo#38838 remove UniString::EqualsAscii" Change-Id: I1d2b78122592a57fe740e36d7811d563edf1e2c4 diff --git a/sw/source/core/unocore/unofield.cxx b/sw/source/core/unocore/unofield.cxx index 14dc73c..fff259f 100644 --- a/sw/source/core/unocore/unofield.cxx +++ b/sw/source/core/unocore/unofield.cxx @@ -17,6 +17,10 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include "sal/config.h" + +#include <algorithm> + #include <unofield.hxx> #include <unofieldcoll.hxx> #include <swtypes.hxx> @@ -2640,7 +2644,7 @@ uno::Any SwXTextFieldMasters::getByName(const OUString& rName) if( USHRT_MAX == nResId ) throw container::NoSuchElementException(); - sName = sName.copy(sTypeName.getLength()+1); + sName = sName.copy(std::min(sTypeName.getLength()+1, sName.getLength())); SwFieldType* pType = GetDoc()->GetFldType(nResId, sName, sal_True); if(!pType) throw container::NoSuchElementException(); @@ -2727,7 +2731,7 @@ sal_Bool SwXTextFieldMasters::hasByName(const OUString& rName) throw( uno::Runti sal_Bool bRet = sal_False; if( USHRT_MAX != nResId ) { - sName = sName.copy(sTypeName.getLength()+1); + sName = sName.copy(std::min(sTypeName.getLength()+1, sName.getLength())); bRet = USHRT_MAX != nResId && 0 != GetDoc()->GetFldType(nResId, sName, sal_True); } return bRet; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits