From 0869f4efb2b5579583311d20835112a4d26d8d8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20K=C3=B6gl?= Date: Fri, 14 Dec 2012 12:35:14 +0100 Subject: [PATCH] fix validation of array indices --- jsonpointer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jsonpointer.py b/jsonpointer.py index 204cb59..4868b26 100644 --- a/jsonpointer.py +++ b/jsonpointer.py @@ -122,6 +122,9 @@ class JsonPointer(object): def to_last(self, doc, default=_nothing): """ Resolves ptr until the last step, returns (sub-doc, last-step) """ + if not self.parts: + return doc, None + for part in self.parts[:-1]: doc = self.walk(doc, part) @@ -158,7 +161,7 @@ class JsonPointer(object): if part == '-': return part - if not RE_ARRAY_INDEX.match(part): + if not RE_ARRAY_INDEX.match(str(part)): raise JsonPointerException("'%s' is not a valid list index" % (part, )) return int(part)