pike.git/
src/
modules/
_Roxen/
testsuite.in
Branch:
Tag:
Non-build tags
All tags
No tags
2014-10-16
2014-10-16 16:39:33 by Arne Goedeke <el@laramies.com>
6812791f06336a05876b03964dc81e73fe35cc16 (
40
lines) (+
22
/-
18
)
[
Show
|
Annotate
]
Branch:
8.1
_Roxen.http_decode_string: do not overflow
9:
test_eq(_Roxen.http_decode_string("abc+d%20e%41"), "abc+d eA") test_eq(_Roxen.http_decode_string(""), "") test_eq(_Roxen.http_decode_string("+"), "+")
-
test_
do
(_Roxen.http_decode_string("%"))
-
test_
do
(_Roxen.http_decode_string("%0"))
-
test_
do
(_Roxen.http_decode_string("%%"))
-
test_
do
(_Roxen.http_decode_string("%%%"))
-
test_
do
(_Roxen.http_decode_string("%41%"))
-
test_
do
(_Roxen.http_decode_string("%41%0"))
-
test_
do
(_Roxen.http_decode_string("%41%%"))
-
test_
do
(_Roxen.http_decode_string("%41%%%"))
-
test_
do
(_Roxen.http_decode_string("%u"))
-
test_
do
(_Roxen.http_decode_string("%u0"))
-
test_
do
(_Roxen.http_decode_string("%u00"))
-
test_
do
(_Roxen.http_decode_string("%u000"))
-
test_
do
(_Roxen.http_decode_string("%u000_"))
-
test_
do
(_Roxen.http_decode_string("%41%u"))
-
test_
do
(_Roxen.http_decode_string("%41%u0"))
-
test_
do
(_Roxen.http_decode_string("%41%u00"))
-
test_
do
(_Roxen.http_decode_string("%41%u000"))
-
test_
do
(_Roxen.http_decode_string("%41%u000_"))
+
+
# the following inputs are all illegal
+
test_
eval_error
(_Roxen.http_decode_string("%"))
+
test_
eval_error
(_Roxen.http_decode_string("%0"))
+
test_
eval_error
(_Roxen.http_decode_string("%%"))
+
test_
eval_error
(_Roxen.http_decode_string("%%%"))
+
test_
eval_error
(_Roxen.http_decode_string("%41%"))
+
test_
eval_error
(_Roxen.http_decode_string("%41%0"))
+
test_
eval_error
(_Roxen.http_decode_string("%41%%"))
+
test_
eval_error
(_Roxen.http_decode_string("%41%%%"))
+
test_
eval_error
(_Roxen.http_decode_string("%u"))
+
test_
eval_error
(_Roxen.http_decode_string("%u0"))
+
test_
eval_error
(_Roxen.http_decode_string("%u00"))
+
test_
eval_error
(_Roxen.http_decode_string("%u000"))
+
test_
eval_error
(_Roxen.http_decode_string("%u000_"))
+
test_
eval_error
(_Roxen.http_decode_string("%41%u"))
+
test_
eval_error
(_Roxen.http_decode_string("%41%u0"))
+
test_
eval_error
(_Roxen.http_decode_string("%41%u00"))
+
test_
eval_error
(_Roxen.http_decode_string("%41%u000"))
+
test_
eval_error
(_Roxen.http_decode_string("%41%u000_"))
+
test_eq(_Roxen.http_decode_string("%u12345"), "\x1234""5") test_eq(_Roxen.http_decode_string("%U12345"), "\x1234""5")