Kaydet (Commit) 77ffba5c authored tarafından Caolán McNamara's avatar Caolán McNamara

guard against corrupt RootData

Change-Id: Iad2788a7e5e7ee3b3107eab37cde2d3d38eae005
(cherry picked from commit fc943ea8)
Reviewed-on: https://gerrit.libreoffice.org/20495Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst d3ea3162
......@@ -152,7 +152,10 @@ void LwpIndexManager::ReadRootData(LwpObjectStream* pObjStrm)
sal_uInt16 KeyCount = pObjStrm->QuickReaduInt16();
m_nLeafCount = KeyCount ? KeyCount + 1 : 0;
if(KeyCount)
if (m_nLeafCount > SAL_N_ELEMENTS(m_ChildIndex))
throw std::range_error("corrupt RootData");
if (KeyCount)
{
//read object keys
LwpKey* akey = new LwpKey();
......
......@@ -92,7 +92,7 @@ void LwpTabRack::Read()
m_nNumTabs = m_pObjStrm->QuickReaduInt16();
if (m_nNumTabs > MaxTabs)
throw std::out_of_range("corrupt LwpTabRack");
throw std::range_error("corrupt LwpTabRack");
for (int i=0; i<m_nNumTabs; ++i)
{
m_aTabs[i].Read(m_pObjStrm);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment