diff options
| author | Peter LaFosse <peter@vector35.com> | 2023-11-07 14:19:36 -0500 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2023-12-02 08:43:28 -0500 |
| commit | c5e9fd57248de7758c4b507733075b8bbb7d2b0e (patch) | |
| tree | 9d25d508937b73dfcb9c2dd5e16c4f95295674d5 /examples | |
| parent | 9393d7166944c6cba3d808b976a8b73c40d2a8ea (diff) | |
TriageView Check for valid indexes before navigating to them
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/triage/exports.cpp | 4 | ||||
| -rw-r--r-- | examples/triage/imports.cpp | 4 | ||||
| -rw-r--r-- | examples/triage/strings.cpp | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/examples/triage/exports.cpp b/examples/triage/exports.cpp index 808d1f01..5c96a6b2 100644 --- a/examples/triage/exports.cpp +++ b/examples/triage/exports.cpp @@ -88,7 +88,7 @@ QVariant GenericExportsModel::data(const QModelIndex& index, int role) const case Qt::DisplayRole: if (role != Qt::DisplayRole) return QVariant(); - if (index.row() >= (int)m_entries.size()) + if (!index.isValid() || index.row() >= (int)m_entries.size()) return QVariant(); if (index.column() == AddressColumn) return QString("0x") + QString::number(m_entries[index.row()]->GetAddress(), 16); @@ -155,7 +155,7 @@ QModelIndex GenericExportsModel::parent(const QModelIndex&) const SymbolRef GenericExportsModel::getSymbol(const QModelIndex& index) { - if (index.row() >= (int)m_entries.size()) + if (!index.isValid() || index.row() >= (int)m_entries.size()) return nullptr; return m_entries[index.row()]; } diff --git a/examples/triage/imports.cpp b/examples/triage/imports.cpp index 2009dccf..979967fd 100644 --- a/examples/triage/imports.cpp +++ b/examples/triage/imports.cpp @@ -55,7 +55,7 @@ QVariant GenericImportsModel::data(const QModelIndex& index, int role) const switch (role) { case Qt::DisplayRole: - if (index.row() >= (int)m_entries.size()) + if (!index.isValid() || index.row() >= (int)m_entries.size()) return QVariant(); if (index.column() == 0) return QString("0x") + QString::number(m_entries[index.row()]->GetAddress(), 16); @@ -122,7 +122,7 @@ QModelIndex GenericImportsModel::parent(const QModelIndex&) const SymbolRef GenericImportsModel::getSymbol(const QModelIndex& index) { - if (index.row() >= (int)m_entries.size()) + if (!index.isValid() || index.row() >= (int)m_entries.size()) return nullptr; return m_entries[index.row()]; } diff --git a/examples/triage/strings.cpp b/examples/triage/strings.cpp index 3284b84e..7c3f44e8 100644 --- a/examples/triage/strings.cpp +++ b/examples/triage/strings.cpp @@ -35,7 +35,7 @@ QVariant GenericStringsModel::data(const QModelIndex& index, int role) const switch (role) { case Qt::DisplayRole: - if (index.row() >= (int)m_entries.size()) + if (!index.isValid() || index.row() >= (int)m_entries.size()) return QVariant(); if (index.column() == 0) return QString("0x") + QString::number(m_entries[index.row()].start, 16); @@ -115,7 +115,7 @@ QString GenericStringsModel::stringRefToQString(const BNStringReference& stringR BNStringReference GenericStringsModel::getStringRefAt(const QModelIndex& index) const { - if (index.row() >= (int)m_entries.size()) + if (!index.isValid() || index.row() >= (int)m_entries.size()) return BNStringReference{}; return m_entries[index.row()]; } |
