qapi: Fix to reject stray 't', 'f' and 'n'

Screwed up in commit e53188a.

Backports commit e565d934d21e3544b820cd03b88061e71ab644a0 from qemu
This commit is contained in:
Markus Armbruster 2018-02-19 15:41:36 -05:00 committed by Lioncash
parent de88f40dfd
commit 72e6966bba
No known key found for this signature in database
GPG Key ID: 4E3C3CC1031BA9C7

View File

@ -217,20 +217,18 @@ class QAPISchema:
return
else:
string += ch
elif self.tok in "tfn":
val = self.src[self.cursor - 1:]
if val.startswith("true"):
self.val = True
self.cursor += 3
return
elif val.startswith("false"):
self.val = False
self.cursor += 4
return
elif val.startswith("null"):
self.val = None
self.cursor += 3
return
elif self.src.startswith("true", self.pos):
self.val = True
self.cursor += 3
return
elif self.src.startswith("false", self.pos):
self.val = False
self.cursor += 4
return
elif self.src.startswith("null", self.pos):
self.val = None
self.cursor += 3
return
elif self.tok == '\n':
if self.cursor == len(self.src):
self.tok = None