Statistics
| Branch: | Revision:

root / qapi @ 7f64f8e2

Latest revisions

# Date Author Comment
e38ac962 03/27/2012 03:15 pm Paolo Bonzini

qapi: add strict mode to input visitor

While QMP in general is designed so that it is possible to ignore
unknown arguments, in the case of the QMP server it is better to
reject them to detect bad clients. In fact, we're already doing
this at the top level in the argument checker. To extend this to...

4faaec6a 03/27/2012 03:15 pm Paolo Bonzini

qapi: place outermost object on qiv stack

This is a slight change in the implementation of QMPInputVisitor
that helps when adding strict mode.

Const QObjects cannot be inc/decref-ed, and that's why QMPInputVisitor
relies heavily on weak references to inner objects. I'm not removing...

3a86a0fa 03/27/2012 03:14 pm Paolo Bonzini

qapi: untangle next_list

Right now, the semantics of next_list are complicated. The caller must:

  • call start_list
  • call next_list for each element including the first
  • on the first call to next_list, the second argument should point to
    NULL and the result is the head of the list. On subsequent calls,...
8b714d37 03/27/2012 03:13 pm Paolo Bonzini

qapi: fix memory leak on error

QmpInputVisitor would leak the malloced struct if the stack was
overflowed. This can be easily fixed using error_propagate.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>...

2c7ff933 03/27/2012 03:13 pm Paolo Bonzini

qapi: fail hard on stack imbalance

QmpOutputVisitor will segfault if an imbalanced end function is
called. So we can abort in QmpInputVisitor too.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Signed-off-by: Luiz Capitulino <>

f24582d6 03/27/2012 03:11 pm Laszlo Ersek

qapi: fix double free in qmp_output_visitor_cleanup()

Stack entries in QmpOutputVisitor are navigation links (weak references),
except the bottom (ie. least recently added) entry, which owns the root
QObject [1]. Make qmp_output_visitor_cleanup() drop the stack entries,...

0f71a1e0 02/21/2012 11:21 am Paolo Bonzini

qapi: allow sharing enum implementation across visitors

Most visitors will use the same code for enum parsing. Move it to
the core.

Signed-off-by: Paolo Bonzini <>

9f9ab465 02/21/2012 11:21 am Paolo Bonzini

qapi: drop qmp_input_end_optional

This method is optional, do not implement it if it is empty.

Signed-off-by: Paolo Bonzini <>

a020f980 02/21/2012 11:21 am Paolo Bonzini

qapi: add string-based visitors

String based visitors provide a consistent interface for parsing
strings to C values, as well as consuming C values as strings.
They will be used to parse command-line options.

Signed-off-by: Paolo Bonzini <>

47c6d3ec 12/19/2011 06:27 pm Paolo Bonzini

qapi: protect against NULL QObject in qmp_input_get_object

A NULL qobj can occur when a parameter is fetched via qdict_get, but
the parameter is not in the command. By returning NULL, the caller can
choose whether to raise a missing parameter error, an invalid parameter...

View revisions

Also available in: Atom