Het Gala <[email protected]> writes: > 'channel' and 'addr' in qmp_migrate() and qmp_migrate_incoming() are > not auto-freed. migrate_uri_parse() allocates memory which is > returned to 'channel', which is leaked because there is no code for > freeing 'channel' or 'addr'. > So, free addr and channel to avoid memory leak. 'addr' does shallow > copying of channel->addr, hence free 'channel' itself and deep free > contents of 'addr' > > Fixes: 5994024f ("migration: Implement MigrateChannelList to qmp > migration flow") > Signed-off-by: Het Gala <[email protected]> > --- > migration/migration.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/migration/migration.c b/migration/migration.c > index 28a34c9068..29efb51b62 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -2004,6 +2004,8 @@ void qmp_migrate(const char *uri, bool has_channels, > MIGRATION_STATUS_FAILED); > block_cleanup_parameters(); > } > + g_free(channel); > + qapi_free_MigrationAddress(addr); > > if (local_err) { > if (!resume_requested) {
See my review of v1.
