- 13 1月, 2013 1 次提交
-
-
由 Paolo Bonzini 提交于
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
-
- 19 12月, 2012 1 次提交
-
-
由 Paolo Bonzini 提交于
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
-
- 17 8月, 2012 1 次提交
-
-
由 Michael Roth 提交于
Currently, when parsing a stream of tokens we make a copy of the token list at the beginning of each level of recursion so that we do not modify the original list in cases where we need to fall back to an earlier state. In the worst case, we will only read 1 or 2 tokens off the list before recursing again, which means an upper bound of roughly N^2 token allocations. For a "reasonably" sized QMP request (in this a QMP representation of cirrus_vga's device state, generated via QIDL, being passed in via qom-set), this caused my 16GB's of memory to be exhausted before any noticeable progress was made by the parser. This patch works around the issue by using single copy of the token list in the form of an indexable array so that we can save/restore state by manipulating indices. A subsequent commit adds a "large_dict" test case which exhibits the same behavior as above. With this patch applied the test case successfully completes in under a second. Tested with valgrind, make check, and QMP. Reviewed-by: NEric Blake <eblake@redhat.com> Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 08 6月, 2011 3 次提交
-
-
由 Michael Roth 提交于
Currently a NULL token list will crash the parser, instead we have it pass back a NULL QObject. Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Anthony Liguori 提交于
Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Anthony Liguori 提交于
Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 03 10月, 2010 1 次提交
-
-
由 Stefan Weil 提交于
Signed-off-by: NStefan Weil <weil@mail.berlios.de> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 14 6月, 2010 1 次提交
-
-
由 Paul Brook 提交于
Move inclusion of stdbool.h to common header files, instead of including in an ad-hoc manner. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
- 12 6月, 2010 1 次提交
-
-
由 Luiz Capitulino 提交于
It's valid JSON and should be handled. Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
-
- 27 3月, 2010 1 次提交
-
-
由 Amos Kong 提交于
When input some invalid word 'unknowcmd' through QMP port, qemu outputs this error message: "parse error: invalid keyword `%s'" This patch makes qemu output the content of invalid keyword, like: "parse error: invalid keyword `unknowcmd'" Signed-off-by: NAmos Kong <akong@redhat.com> Acked-by: NRichard Henderson <rth@redhat.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 07 3月, 2010 1 次提交
-
-
由 Kevin Wolf 提交于
If the parser fails to parse the key in parse_pair, it will access a NULL pointer. A simple way to trigger this is sending {foo} via QMP. This patch turns the segfault into a syntax error reply. Signed-off-by: NKevin Wolf <kwolf@redhat.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 11 2月, 2010 1 次提交
-
-
由 Roy Tam 提交于
OK we are fooled by the json lexer and parser. As we use %I64d to print 'long long' variables in Win32, but lexer and parser only deal with %lld but not %I64d, this patch add support for %I64d and solve 'info pci', 'powser_reset' and 'power_powerdown' assert failure in Win32. Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 14 1月, 2010 1 次提交
-
-
由 Amit Shah 提交于
clang-analyzer points out a redundant increment. Signed-off-by: NAmit Shah <amit.shah@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 17 11月, 2009 1 次提交
-
-
由 Anthony Liguori 提交于
This is the third and final stage of the JSON parser. It parses lexical tokens performing grammar validation and creating the final QObject representation. It uses a recursive decent parser. Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-