summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Magnusson <ulfalizer@gmail.com>2015-06-05 01:45:40 +0200
committerUlf Magnusson <ulfalizer@gmail.com>2015-06-05 01:45:40 +0200
commitfa72f1ac084c6b655fa1107c24b6f3a62b85ecea (patch)
treed54f171dc99feb05c2133002a411bda1910ad9d4
parent40016f90aeacbcc8dadc2d3807a497a24539a805 (diff)
Fix hang when tokenizing some invalid expressions.
c.eval("&") would cause a hang before for example.
-rw-r--r--kconfiglib.py10
1 files changed, 2 insertions, 8 deletions
diff --git a/kconfiglib.py b/kconfiglib.py
index f828369..ab44eac 100644
--- a/kconfiglib.py
+++ b/kconfiglib.py
@@ -736,10 +736,7 @@ class Config(object):
i = end + 1
elif c == "&":
- if i + 1 >= strlen:
- # Invalid characters are ignored
- continue
- if s[i + 1] != "&":
+ if i + 1 >= strlen or s[i + 1] != "&":
# Invalid characters are ignored
i += 1
continue
@@ -747,10 +744,7 @@ class Config(object):
i += 2
elif c == "|":
- if i + 1 >= strlen:
- # Invalid characters are ignored
- continue
- if s[i + 1] != "|":
+ if i + 1 >= strlen or s[i + 1] != "|":
# Invalid characters are ignored
i += 1
continue