diff options
| author | Yuval Adam <_@yuv.al> | 2018-02-27 13:30:46 +0200 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2018-02-27 13:30:46 +0200 |
| commit | a0a3fe51c7c785e75da3ad92d8baf3974cde0de9 (patch) | |
| tree | 4a0f4661c8dd015aa5cb8f66c75fdbda7bd5ca52 | |
| parent | 6fac732ab7813a233290fa978897529000565234 (diff) | |
Fix some (potential) bugs
| -rw-r--r-- | viewstate/parse.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/viewstate/parse.py b/viewstate/parse.py index ec9f12c..4ed07a3 100644 --- a/viewstate/parse.py +++ b/viewstate/parse.py @@ -1,7 +1,7 @@ from .exceptions import ViewStateException CONSTS = { - 100: {}, + 100: None, 101: '', 102: 0, 103: True, @@ -19,7 +19,7 @@ def parse_int(b): tmp = b[i] i += 1 n |= (tmp & 0x7f) << bits - if not tmp & 0x80: + if not (tmp & 0x80): return n, b[i:] bits += 7 return n, b[i:] # overflow @@ -47,7 +47,10 @@ def parse_str_array(b): n, remain = parse_int(b) l = [] for _ in range(n): - val, remain = parse_string(remain) + if not remain[0]: + val, remain = '', remain[1:] + else: + val, remain = parse_string(remain) l.append(val) return l, remain |
