File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2222_DICTIONARY_LINE_RE = re .compile (
2323 r'''[^"]* # Skip an arbitrary prefix (not used by libFuzzer).
2424 " # Must be enclosed in quotes.
25- (
26- [^\\] # One or more non-escape characters...
25+ ( # A space or printable character in "C" locale except `\`...
26+ ((?!\\)[\f\r\t\v\x20-\x7e])
2727 |
2828 \\( # ...or an escape sequence...
2929 [\\\"] # ...consisting of either `\` or `"`...
Original file line number Diff line number Diff line change @@ -25,10 +25,16 @@ class DictValidatorTest(unittest.TestCase):
2525
2626 def test_plain_entries (self ):
2727 self .assertTrue (validate_line ('kw1="blah"' ))
28- self .assertTrue (validate_line ('":path"' ))
29- self .assertTrue (validate_line ('"keep-alive"' ))
30- self .assertTrue (validate_line ('"te"' ))
31- self .assertTrue (validate_line ('"ab""' ))
28+ self .assertTrue (validate_line ('"0123456789"' ))
29+ self .assertTrue (validate_line ('"abcdefghijklmnopqrstuvwxyz"' ))
30+ self .assertTrue (validate_line ('"ABCDEFGHIJKLMNOPQRSTUVWXYZ"' ))
31+ self .assertTrue (validate_line ('"!"#$%&\' ()*+,-./:;<=>?@[]^_`{|}~ "' ))
32+ self .assertTrue (validate_line ('"\t \r \f \v "' ))
33+
34+ def test_bad_chars (self ):
35+ self .assertFalse (validate_line ('"\x07 "' ))
36+ self .assertFalse (validate_line ('"Ā"' ))
37+ self .assertFalse (validate_line ('"😀"' ))
3238
3339 def test_escaped_words (self ):
3440 self .assertTrue (validate_line ('kw2="\\ "ac\\ \\ dc\\ ""' ))
You can’t perform that action at this time.
0 commit comments