migration/migration-hmp-cmds.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
hmp_migrate() leaks @caps when qmp_migrate() fails. Plug the leak
with g_autoptr().
Fixes: 967f2de5c9ec (migration: Implement MigrateChannelList to hmp migration flow.) v8.2.0-rc0
Fixes: CID 1533124
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
migration/migration-hmp-cmds.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/migration/migration-hmp-cmds.c b/migration/migration-hmp-cmds.c
index 740a219aa4..99b49df5dd 100644
--- a/migration/migration-hmp-cmds.c
+++ b/migration/migration-hmp-cmds.c
@@ -764,7 +764,7 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
bool resume = qdict_get_try_bool(qdict, "resume", false);
const char *uri = qdict_get_str(qdict, "uri");
Error *err = NULL;
- MigrationChannelList *caps = NULL;
+ g_autoptr(MigrationChannelList) caps = NULL;
g_autoptr(MigrationChannel) channel = NULL;
if (inc) {
@@ -789,8 +789,6 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
return;
}
- qapi_free_MigrationChannelList(caps);
-
if (!detach) {
HMPMigrationStatus *status;
--
2.43.0
On Wed, 17 Jan 2024 at 19:49, Markus Armbruster <armbru@redhat.com> wrote:
>
> hmp_migrate() leaks @caps when qmp_migrate() fails. Plug the leak
> with g_autoptr().
>
> Fixes: 967f2de5c9ec (migration: Implement MigrateChannelList to hmp migration flow.) v8.2.0-rc0
> Fixes: CID 1533124
Isn't this 1533125 ? 1533124 is a false positive in
the migrate_mode() function.
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> migration/migration-hmp-cmds.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/migration/migration-hmp-cmds.c b/migration/migration-hmp-cmds.c
> index 740a219aa4..99b49df5dd 100644
> --- a/migration/migration-hmp-cmds.c
> +++ b/migration/migration-hmp-cmds.c
> @@ -764,7 +764,7 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
> bool resume = qdict_get_try_bool(qdict, "resume", false);
> const char *uri = qdict_get_str(qdict, "uri");
> Error *err = NULL;
> - MigrationChannelList *caps = NULL;
> + g_autoptr(MigrationChannelList) caps = NULL;
> g_autoptr(MigrationChannel) channel = NULL;
>
> if (inc) {
> @@ -789,8 +789,6 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
> return;
> }
>
> - qapi_free_MigrationChannelList(caps);
> -
> if (!detach) {
> HMPMigrationStatus *status;
thanks
-- PMM
On Tue, Jan 23, 2024 at 04:33:43PM +0000, Peter Maydell wrote: > On Wed, 17 Jan 2024 at 19:49, Markus Armbruster <armbru@redhat.com> wrote: > > > > hmp_migrate() leaks @caps when qmp_migrate() fails. Plug the leak > > with g_autoptr(). > > > > Fixes: 967f2de5c9ec (migration: Implement MigrateChannelList to hmp migration flow.) v8.2.0-rc0 > > Fixes: CID 1533124 > > Isn't this 1533125 ? 1533124 is a false positive in > the migrate_mode() function. Indeed.. I fixed it in the staging branch (which will be in the final pull), thanks. https://gitlab.com/peterx/qemu/-/commit/74278c11b980429916116baf0f742357af51ebb4 -- Peter Xu
Peter Xu <peterx@redhat.com> writes: > On Tue, Jan 23, 2024 at 04:33:43PM +0000, Peter Maydell wrote: >> On Wed, 17 Jan 2024 at 19:49, Markus Armbruster <armbru@redhat.com> wrote: >> > >> > hmp_migrate() leaks @caps when qmp_migrate() fails. Plug the leak >> > with g_autoptr(). >> > >> > Fixes: 967f2de5c9ec (migration: Implement MigrateChannelList to hmp migration flow.) v8.2.0-rc0 >> > Fixes: CID 1533124 >> >> Isn't this 1533125 ? 1533124 is a false positive in >> the migrate_mode() function. Yes. > Indeed.. I fixed it in the staging branch (which will be in the final > pull), thanks. > > https://gitlab.com/peterx/qemu/-/commit/74278c11b980429916116baf0f742357af51ebb4 Thanks for catching & fixing my typo!
On Wed, Jan 17, 2024 at 03:07:22PM +0100, Markus Armbruster wrote: > hmp_migrate() leaks @caps when qmp_migrate() fails. Plug the leak > with g_autoptr(). > > Fixes: 967f2de5c9ec (migration: Implement MigrateChannelList to hmp migration flow.) v8.2.0-rc0 > Fixes: CID 1533124 > Signed-off-by: Markus Armbruster <armbru@redhat.com> queued, thanks! -- Peter Xu
© 2016 - 2026 Red Hat, Inc.