* [PATCH v2] migration: free 'channel' and 'addr' after their use in migration.c
@ 2023-11-28 6:51 Het Gala
2023-11-28 7:28 ` Markus Armbruster
0 siblings, 1 reply; 2+ messages in thread
From: Het Gala @ 2023-11-28 6:51 UTC (permalink / raw)
To: qemu-devel
Cc: prerna.saxena, quintela, berrange, peter.maydell, farosas,
Het Gala
'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 <het.gala@nutanix.com>
---
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) {
--
2.22.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] migration: free 'channel' and 'addr' after their use in migration.c
2023-11-28 6:51 [PATCH v2] migration: free 'channel' and 'addr' after their use in migration.c Het Gala
@ 2023-11-28 7:28 ` Markus Armbruster
0 siblings, 0 replies; 2+ messages in thread
From: Markus Armbruster @ 2023-11-28 7:28 UTC (permalink / raw)
To: Het Gala
Cc: qemu-devel, prerna.saxena, quintela, berrange, peter.maydell,
farosas
Het Gala <het.gala@nutanix.com> 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 <het.gala@nutanix.com>
> ---
> 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.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-11-28 7:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-28 6:51 [PATCH v2] migration: free 'channel' and 'addr' after their use in migration.c Het Gala
2023-11-28 7:28 ` Markus Armbruster
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.