From 9213aa5391f7c8d3766420d96888f1353af4c890 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sat, 27 Jul 2013 17:41:57 +0200 Subject: qapi.py: Reject invalid characters in schema file Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Message-id: 1374939721-7876-6-git-send-email-armbru@redhat.com Signed-off-by: Anthony Liguori --- scripts/qapi.py | 2 ++ tests/qapi-schema/comments.err | 1 + tests/qapi-schema/comments.exit | 2 +- tests/qapi-schema/comments.out | 3 --- tests/qapi-schema/funny-char.err | 1 + tests/qapi-schema/funny-char.exit | 2 +- tests/qapi-schema/funny-char.out | 3 --- 7 files changed, 6 insertions(+), 8 deletions(-) diff --git a/scripts/qapi.py b/scripts/qapi.py index 342d16c4e8..0b48a1e50a 100644 --- a/scripts/qapi.py +++ b/scripts/qapi.py @@ -101,6 +101,8 @@ class QAPISchema: if self.cursor == len(self.src): self.tok = None return + elif not self.tok.isspace(): + raise QAPISchemaError(self, 'Stray "%s"' % self.tok) def get_members(self): expr = OrderedDict() diff --git a/tests/qapi-schema/comments.err b/tests/qapi-schema/comments.err index e69de29bb2..4a82b26d0f 100644 --- a/tests/qapi-schema/comments.err +++ b/tests/qapi-schema/comments.err @@ -0,0 +1 @@ +:2:33: Stray "#" diff --git a/tests/qapi-schema/comments.exit b/tests/qapi-schema/comments.exit index 573541ac97..d00491fd7e 100644 --- a/tests/qapi-schema/comments.exit +++ b/tests/qapi-schema/comments.exit @@ -1 +1 @@ -0 +1 diff --git a/tests/qapi-schema/comments.out b/tests/qapi-schema/comments.out index e3bd904453..e69de29bb2 100644 --- a/tests/qapi-schema/comments.out +++ b/tests/qapi-schema/comments.out @@ -1,3 +0,0 @@ -[OrderedDict([('enum', 'Status'), ('data', ['good', 'bad', 'ugly'])])] -['Status'] -[] diff --git a/tests/qapi-schema/funny-char.err b/tests/qapi-schema/funny-char.err index e69de29bb2..d3dd293faf 100644 --- a/tests/qapi-schema/funny-char.err +++ b/tests/qapi-schema/funny-char.err @@ -0,0 +1 @@ +:2:36: Stray ";" diff --git a/tests/qapi-schema/funny-char.exit b/tests/qapi-schema/funny-char.exit index 573541ac97..d00491fd7e 100644 --- a/tests/qapi-schema/funny-char.exit +++ b/tests/qapi-schema/funny-char.exit @@ -1 +1 @@ -0 +1 diff --git a/tests/qapi-schema/funny-char.out b/tests/qapi-schema/funny-char.out index e3bd904453..e69de29bb2 100644 --- a/tests/qapi-schema/funny-char.out +++ b/tests/qapi-schema/funny-char.out @@ -1,3 +0,0 @@ -[OrderedDict([('enum', 'Status'), ('data', ['good', 'bad', 'ugly'])])] -['Status'] -[] -- cgit v1.2.1