xl: properly dispose of vTPM struct instance

The backend_domname field requires separate freeing; make sure to call
libxl_device_vtpm_dispose() also on respective error paths.

Coverity-ID: 1638719
Fixes: dde22055ac ("libxl: add vtpm support")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Anthony PERARD <anthony.perard@vates.tech>
Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
This commit is contained in:
Jan Beulich committed 2025-01-17 08:53:50 +01:00
1 parent c33e14abb1
commit 737e8cc91b
1 file changed
+3
+3
View File
@@ -44,12 +44,14 @@ int main_vtpmattach(int argc, char **argv)
if (MATCH_OPTION("uuid", *argv, oparg)) {
if(libxl_uuid_from_string(&(vtpm.uuid), oparg)) {
fprintf(stderr, "Invalid uuid specified (%s)\n", oparg);
libxl_device_vtpm_dispose(&vtpm);
return 1;
}
} else if (MATCH_OPTION("backend", *argv, oparg)) {
replace_string(&vtpm.backend_domname, oparg);
} else {
fprintf(stderr, "unrecognized argument `%s'\n", *argv);
libxl_device_vtpm_dispose(&vtpm);
return 1;
}
}
@@ -65,6 +67,7 @@ int main_vtpmattach(int argc, char **argv)
if (libxl_device_vtpm_add(ctx, domid, &vtpm, 0)) {
fprintf(stderr, "libxl_device_vtpm_add failed.\n");
libxl_device_vtpm_dispose(&vtpm);
return 1;
}
libxl_device_vtpm_dispose(&vtpm);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.