From 00223bc5b9f3c34a365759fceb49684b4496051a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stig=20Bj=C3=B8rlykke?= Date: Sat, 10 Dec 2016 13:07:06 +0100 Subject: [PATCH] Qt: Avoid infinite recursion in ExtcapArgument::loadValues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If configuring a extcap "value" sentence with {value=} then loadValues() must not run in a infinite recursion trying to find it's children. Change-Id: Ic2577b31d9312e8f6a099c4fe7c0672e801dbc89 Reviewed-on: https://code.wireshark.org/review/19192 Petri-Dish: Stig Bjørlykke Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall --- ui/qt/extcap_argument.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ui/qt/extcap_argument.cpp b/ui/qt/extcap_argument.cpp index 72734b7bc6..0775422650 100644 --- a/ui/qt/extcap_argument.cpp +++ b/ui/qt/extcap_argument.cpp @@ -591,7 +591,7 @@ ExtcapValueList ExtcapArgument::loadValues(QString parent) if (v == NULL || v->display == NULL || v->call == NULL ) break; - QString valParent(v->parent == 0 ? "" : QString().fromUtf8(v->parent)); + QString valParent = QString().fromUtf8(v->parent); if ( parent.compare(valParent) == 0 ) { @@ -602,7 +602,9 @@ ExtcapValueList ExtcapArgument::loadValues(QString parent) ExtcapValue element = ExtcapValue(display, call, v->enabled == (gboolean)TRUE, v->is_default == (gboolean)TRUE); - element.setChildren(this->loadValues(call)); + if (!call.isEmpty()) + element.setChildren(this->loadValues(call)); + elements.append(element); } }