Avoid a segfault when visiting, e.g., the QOM rtc-time property, by implementing the struct callbacks and raising an Error.
Signed-off-by: Andreas Färber <afaer...@suse.de> --- qapi/string-output-visitor.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/qapi/string-output-visitor.c b/qapi/string-output-visitor.c index 1ab8574..8b6cb9b 100644 --- a/qapi/string-output-visitor.c +++ b/qapi/string-output-visitor.c @@ -304,6 +304,18 @@ end_list(Visitor *v, Error **errp) } +static void start_struct(Visitor *v, void **obj, const char *kind, + const char *name, size_t unused, + Error **errp) +{ + error_setg(errp, "struct type not implemented"); +} + +static void end_struct(Visitor *v, Error **errp) +{ + error_setg(errp, "struct type not implemented"); +} + char *string_output_get_string(StringOutputVisitor *sov) { char *string = g_string_free(sov->string, false); @@ -349,6 +361,8 @@ StringOutputVisitor *string_output_visitor_new(bool human) v->visitor.start_list = start_list; v->visitor.next_list = next_list; v->visitor.end_list = end_list; + v->visitor.start_struct = start_struct; + v->visitor.end_struct = end_struct; return v; } -- 2.1.4