diff --git a/c++/src/sargs/SearchArgument.cc b/c++/src/sargs/SearchArgument.cc index ff0ba1e2d5..612f0912ef 100644 --- a/c++/src/sargs/SearchArgument.cc +++ b/c++/src/sargs/SearchArgument.cc @@ -315,7 +315,6 @@ namespace orc { // Perform BFS while (!nodes.empty()) { TreeNode& node = nodes.front(); - nodes.pop_front(); if (node->getOperator() == ExpressionTree::Operator::LEAF) { leaves.insert(node); @@ -324,6 +323,7 @@ namespace orc { nodes.push_back(child); } } + nodes.pop_front(); } // Update the leaf in place