diff options
| -rw-r--r-- | examples/triage/analysisinfo.cpp | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/examples/triage/analysisinfo.cpp b/examples/triage/analysisinfo.cpp index 3719fcbe..cd18e242 100644 --- a/examples/triage/analysisinfo.cpp +++ b/examples/triage/analysisinfo.cpp @@ -56,24 +56,26 @@ void AnalysisInfoWidget::timerExpired() void AnalysisInfoWidget::updateDisplay() { auto defaultPlatform = m_data->GetDefaultPlatform(); - if (!defaultPlatform) - return; - auto callingConvention = defaultPlatform->GetDefaultCallingConvention(); - auto gpRegister = callingConvention->GetGlobalPointerRegister(); - std::string gpString, gpExtraString; - if (gpRegister == BN_INVALID_REGISTER) - { - gpString = "N/A"; - } - else + if (defaultPlatform) { - auto gpValue = m_data->GetGlobalPointerValue(); - gpString = getStringForRegisterValue(m_data->GetDefaultArchitecture(), gpValue); - gpExtraString = std::string(" @ ") + m_data->GetDefaultArchitecture()->GetRegisterName(gpRegister); - if (m_data->UserGlobalPointerValueSet()) - gpExtraString += " (*)"; + auto callingConvention = defaultPlatform->GetDefaultCallingConvention(); + if (callingConvention) + { + auto gpRegister = callingConvention->GetGlobalPointerRegister(); + if (gpRegister != BN_INVALID_REGISTER) + { + auto gpValue = m_data->GetGlobalPointerValue(); + std::string gpString = getStringForRegisterValue(m_data->GetDefaultArchitecture(), gpValue); + std::string gpExtraString = std::string(" @ ") + m_data->GetDefaultArchitecture()->GetRegisterName(gpRegister); + if (m_data->UserGlobalPointerValueSet()) + gpExtraString += " (*)"; + + m_gpLabel->setText(QString::fromStdString(gpString)); + m_gpExtraLabel->setText(QString::fromStdString(gpExtraString)); + return; + } + } } - m_gpLabel->setText(QString::fromStdString(gpString)); - m_gpExtraLabel->setText(QString::fromStdString(gpExtraString)); + m_gpLabel->setText("N/A"); } |
