From 96a9f1011f072db2b876cb75c25585a191ee5824 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 26 Jan 2016 16:11:09 +0200 Subject: [PATCH] Valgrind: Prevent division by zero Change-Id: Idf695a99c2f8cf53b0d0e0268a848c58a85af3cb Reviewed-by: hjk Reviewed-by: Christian Kandeler --- src/plugins/valgrind/callgrind/callgrindcallmodel.cpp | 4 ++-- src/plugins/valgrind/callgrind/callgrinddatamodel.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plugins/valgrind/callgrind/callgrindcallmodel.cpp b/src/plugins/valgrind/callgrind/callgrindcallmodel.cpp index d380199f02c..37d52b4ea6f 100644 --- a/src/plugins/valgrind/callgrind/callgrindcallmodel.cpp +++ b/src/plugins/valgrind/callgrind/callgrindcallmodel.cpp @@ -189,13 +189,13 @@ QVariant CallModel::data(const QModelIndex &index, int role) const if (role == RelativeTotalCostRole) { const quint64 totalCost = d->m_data->totalCost(d->m_event); const quint64 callCost = call->cost(d->m_event); - return double(callCost) / totalCost; + return totalCost ? (double(callCost) / totalCost) : 0.0; } if (role == RelativeParentCostRole) { const quint64 parentCost = d->m_function->inclusiveCost(d->m_event); const quint64 callCost = call->cost(d->m_event); - return double(callCost) / parentCost; + return parentCost ? (double(callCost) / parentCost) : 0.0; } return QVariant(); diff --git a/src/plugins/valgrind/callgrind/callgrinddatamodel.cpp b/src/plugins/valgrind/callgrind/callgrinddatamodel.cpp index 9cb162a95ef..e821e977b5e 100644 --- a/src/plugins/valgrind/callgrind/callgrinddatamodel.cpp +++ b/src/plugins/valgrind/callgrind/callgrinddatamodel.cpp @@ -298,9 +298,9 @@ QVariant DataModel::data(const QModelIndex &index, int role) const if (role == RelativeParentCostRole || role == RelativeTotalCostRole) { const quint64 totalCost = d->m_data->totalCost(d->m_event); if (index.column() == SelfCostColumn) - return double(func->selfCost(d->m_event)) / totalCost; + return totalCost ? (double(func->selfCost(d->m_event)) / totalCost) : 0.0; if (index.column() == InclusiveCostColumn) - return double(func->inclusiveCost(d->m_event)) / totalCost; + return totalCost ? (double(func->inclusiveCost(d->m_event)) / totalCost) : 0.0; } if (role == LineNumberRole)