aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dfilter
diff options
context:
space:
mode:
authorMartin Kaiser <wireshark@kaiser.cx>2014-11-11 21:05:03 +0100
committerMartin Kaiser <wireshark@kaiser.cx>2014-11-17 07:05:35 +0000
commitf3f833ccecce0e8611b2f1990d0fcf81959fcb78 (patch)
tree23de9a7aafa2fb376cc0895e85cbac3844b4e2ee /epan/dfilter
parent25f950eca945dde38bdbeb96c2c5dc4e9ea72029 (diff)
display filter: the body of a range should only be
a string, a field name or another range - not an unparsed element Bug: 10690 Change-Id: I126143636c940cc73ed6467660f0a573209e2ae9 Reviewed-on: https://code.wireshark.org/review/5243 Reviewed-by: Martin Kaiser <wireshark@kaiser.cx> Tested-by: Martin Kaiser <wireshark@kaiser.cx>
Diffstat (limited to 'epan/dfilter')
-rw-r--r--epan/dfilter/grammar.lemon7
1 files changed, 5 insertions, 2 deletions
diff --git a/epan/dfilter/grammar.lemon b/epan/dfilter/grammar.lemon
index a9856127e6..c52fe7ad40 100644
--- a/epan/dfilter/grammar.lemon
+++ b/epan/dfilter/grammar.lemon
@@ -167,12 +167,15 @@ entity(E) ::= STRING(S). { E = S; }
entity(E) ::= UNPARSED(U). { E = U; }
entity(E) ::= range(R). { E = R; }
+range_body(B) ::= FIELD(F). { B = F; }
+range_body(B) ::= STRING(S). { B = S; }
+range_body(B) ::= range(R). { B = R; }
/* Ranges */
-range(R) ::= entity(E) LBRACKET drnode_list(L) RBRACKET.
+range(R) ::= range_body(B) LBRACKET drnode_list(L) RBRACKET.
{
R = stnode_new(STTYPE_RANGE, NULL);
- sttype_range_set(R, E, L);
+ sttype_range_set(R, B, L);
/* Delete the list, but not the drange_nodes that
* the list contains. */