Author: damjan
Date: Mon Jul 10 17:13:49 2017
New Revision: 1801502
URL: http://svn.apache.org/viewvc?rev=1801502&view=rev
Log:
If called on an empty collection, don't let OEnumerationByIndex.nextElement()
call XIndexAccess.getByIndex() with an invalid index, just like
OEnumerationByName.nextElement() doesn't.
Patch by: me
Modified:
openoffice/trunk/main/comphelper/source/container/enumhelper.cxx
Modified: openoffice/trunk/main/comphelper/source/container/enumhelper.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/comphelper/source/container/enumhelper.cxx?rev=1801502&r1=1801501&r2=1801502&view=diff
==============================================================================
--- openoffice/trunk/main/comphelper/source/container/enumhelper.cxx (original)
+++ openoffice/trunk/main/comphelper/source/container/enumhelper.cxx Mon Jul 10
17:13:49 2017
@@ -188,15 +188,14 @@ staruno::Any SAL_CALL OEnumerationByInde
::osl::ResettableMutexGuard aLock(m_aLock);
staruno::Any aRes;
- if (m_xAccess.is())
- {
- aRes = m_xAccess->getByIndex(m_nPos++);
- if (m_nPos >= m_xAccess->getCount())
- {
- impl_stopDisposeListening();
- m_xAccess.clear();
- }
- }
+ if (m_xAccess.is() && m_nPos < m_xAccess->getCount())
+ aRes = m_xAccess->getByIndex(m_nPos++);
+
+ if (m_xAccess.is() && m_nPos >= m_xAccess->getCount())
+ {
+ impl_stopDisposeListening();
+ m_xAccess.clear();
+ }
if (!aRes.hasValue()) // es gibt kein Element mehr
throw starcontainer::NoSuchElementException();