diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2016-07-21 10:38:37 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2016-07-21 10:38:37 +1200 |
commit | 02acfb1242d126e17a295ff8078ef9a73201c7ca (patch) | |
tree | 0f5df1008c792407de6b75ab4edb4bd9e04616ad /test/netlib/test_utils.py | |
parent | b27db1fc812b5b9935599caf5d0a2cdfe34d7322 (diff) | |
download | mitmproxy-02acfb1242d126e17a295ff8078ef9a73201c7ca.tar.gz mitmproxy-02acfb1242d126e17a295ff8078ef9a73201c7ca.tar.bz2 mitmproxy-02acfb1242d126e17a295ff8078ef9a73201c7ca.zip |
Fix netlib.utils.is_valid_host
- Don't crash when passed an empty string. This translated into an actual core
crash, discovered while fuzzing with afl.
- Taking a slice of length one out of bytes returns an integer, so the check
for trailing period in this function never worked on Python3.
- Add unit tests.
Diffstat (limited to 'test/netlib/test_utils.py')
-rw-r--r-- | test/netlib/test_utils.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/test/netlib/test_utils.py b/test/netlib/test_utils.py index eaa66f13..f6acec03 100644 --- a/test/netlib/test_utils.py +++ b/test/netlib/test_utils.py @@ -3,6 +3,13 @@ from netlib import utils, tutils +def test_is_valid_host(): + assert not utils.is_valid_host(b"") + assert utils.is_valid_host(b"one.two") + assert not utils.is_valid_host(b"one"*255) + assert utils.is_valid_host(b"one.two.") + + def test_bidi(): b = utils.BiDi(a=1, b=2) assert b.a == 1 |