From 580e8dbef42ffee4233f4756e8494190a62b11e8 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Dec 17 2020 22:19:50 +0000 Subject: Apply patch 0001-Resolves-rhbz-1643752-bounds-check-m_currentTable-ac.patch patch_name: 0001-Resolves-rhbz-1643752-bounds-check-m_currentTable-ac.patch present_in_specfile: true location_in_specfile: 1 --- diff --git a/src/lib/WP6ContentListener.cpp b/src/lib/WP6ContentListener.cpp index 4f45a53..e92d099 100644 --- a/src/lib/WP6ContentListener.cpp +++ b/src/lib/WP6ContentListener.cpp @@ -1311,7 +1311,10 @@ void WP6ContentListener::defineTable(const unsigned char position, const unsigne m_ps->m_tableDefinition.m_columnsProperties.clear(); // pull a table definition off of our stack - m_parseState->m_currentTable = m_parseState->m_tableList[m_parseState->m_nextTableIndice++]; + auto index = m_parseState->m_nextTableIndice++; + if (index >= m_parseState->m_tableList.size()) + throw ParseException(); + m_parseState->m_currentTable = m_parseState->m_tableList[index]; if (!m_parseState->m_currentTable) throw ParseException(); m_parseState->m_currentTable->makeBordersConsistent(); diff --git a/src/lib/WPXTable.h b/src/lib/WPXTable.h index 0767de8..652e5d0 100644 --- a/src/lib/WPXTable.h +++ b/src/lib/WPXTable.h @@ -92,6 +92,10 @@ public: { m_tableList->push_back(table); } + size_t size() const + { + return m_tableList->size(); + } private: void release();