summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2018-02-27 13:30:46 +0200
committerYuval Adam <_@yuv.al>2018-02-27 13:30:46 +0200
commita0a3fe51c7c785e75da3ad92d8baf3974cde0de9 (patch)
tree4a0f4661c8dd015aa5cb8f66c75fdbda7bd5ca52
parent6fac732ab7813a233290fa978897529000565234 (diff)
Fix some (potential) bugs
-rw-r--r--viewstate/parse.py9
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