From 03a75ec67dd4d9a04d824ffe2d5e0aa7708d82b8 Mon Sep 17 00:00:00 2001
From: Jarrod Johnson <jjohnson2@lenovo.com>
Date: Fri, 4 Jun 2021 14:19:06 -0400
Subject: [PATCH] Error if noderange includes too many )

By default, pyparsing consumes only as much of the
input as matches the grammar. Tell it to consume all
of the noderange and error if there's more string than
matches our grammar.
---
 confluent_server/confluent/noderange.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/confluent_server/confluent/noderange.py b/confluent_server/confluent/noderange.py
index 17375150..76828717 100644
--- a/confluent_server/confluent/noderange.py
+++ b/confluent_server/confluent/noderange.py
@@ -106,7 +106,7 @@ class NodeRange(object):
         self.endpage = None
         self.cfm = config
         try:
-            elements = _parser.parseString("(" + noderange + ")").asList()[0]
+            elements = _parser.parseString("(" + noderange + ")", parseAll=True).asList()[0]
         except pp.ParseException as pe:
             raise Exception("Invalid syntax")
         if noderange[0] in ('<', '>'):