From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> We're iterating the list, and then freeing the iteration pointer rather than the list head.
Fixes: 0a9667ecdb6d ("hmp: Update info vnc") Reported-by: Coverity (CID 1421932) Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Message-Id: <20200323120822.51266-1-dgilb...@redhat.com> Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- monitor/hmp-cmds.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c index 76725c2ace..04ca342c51 100644 --- a/monitor/hmp-cmds.c +++ b/monitor/hmp-cmds.c @@ -527,10 +527,11 @@ static void hmp_info_vnc_servers(Monitor *mon, VncServerInfo2List *server) void hmp_info_vnc(Monitor *mon, const QDict *qdict) { - VncInfo2List *info2l; + VncInfo2List *info2l, *info2l_head; Error *err = NULL; info2l = qmp_query_vnc_servers(&err); + info2l_head = info2l; if (err) { hmp_handle_error(mon, err); return; @@ -559,7 +560,7 @@ void hmp_info_vnc(Monitor *mon, const QDict *qdict) info2l = info2l->next; } - qapi_free_VncInfo2List(info2l); + qapi_free_VncInfo2List(info2l_head); } #endif -- 2.25.1