diff options
author | Martin Kaiser <wireshark@kaiser.cx> | 2014-11-11 21:05:03 +0100 |
---|---|---|
committer | Martin Kaiser <wireshark@kaiser.cx> | 2014-11-17 07:05:35 +0000 |
commit | f3f833ccecce0e8611b2f1990d0fcf81959fcb78 (patch) | |
tree | 23de9a7aafa2fb376cc0895e85cbac3844b4e2ee /epan/dfilter | |
parent | 25f950eca945dde38bdbeb96c2c5dc4e9ea72029 (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.lemon | 7 |
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. */ |