[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 08/11] json-lexer: reset the lexer state on an inval

From: Anthony Liguori
Subject: [Qemu-devel] [PATCH 08/11] json-lexer: reset the lexer state on an invalid token
Date: Fri, 11 Mar 2011 15:00:46 -0600

Not everything handles errors from json parsing gracefully.  By at least
resetting the lexer, we'll start generating valid tokens again and hopefully
recover the stream.

Signed-off-by: Anthony Liguori <address@hidden>

diff --git a/json-lexer.c b/json-lexer.c
index c736f42..834d7af 100644
--- a/json-lexer.c
+++ b/json-lexer.c
@@ -303,6 +303,9 @@ static int json_lexer_feed_char(JSONLexer *lexer, char ch)
             new_state = IN_START;
         case ERROR:
+            QDECREF(lexer->token);
+            lexer->token = qstring_new();
+            new_state = IN_START;
             return -EINVAL;

reply via email to

[Prev in Thread] Current Thread [Next in Thread]