aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2016-12-10 13:07:06 +0100
committerRoland Knall <rknall@gmail.com>2016-12-10 14:42:55 +0000
commit00223bc5b9f3c34a365759fceb49684b4496051a (patch)
tree6a51a9e7b5b4ad4e98884eb968e5aae510fbf621
parent6a4226e2bfb7340e9c824e17c4b39f535ee84abe (diff)
Qt: Avoid infinite recursion in ExtcapArgument::loadValues
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 <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Roland Knall <rknall@gmail.com>
-rw-r--r--ui/qt/extcap_argument.cpp6
1 files 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);
}
}