target/i386/sev: Use g_autofree in sev_launch_get_measure()

Use g_autofree to remove a pair of g_free/goto.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20211007161716.453984-13-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Philippe Mathieu-Daudé 2021-10-07 18:17:05 +02:00 committed by Paolo Bonzini
parent ed84ae720d
commit 2f573c415e

View File

@ -685,8 +685,8 @@ sev_launch_get_measure(Notifier *notifier, void *unused)
{ {
SevGuestState *sev = sev_guest; SevGuestState *sev = sev_guest;
int ret, error; int ret, error;
guchar *data; g_autofree guchar *data = NULL;
struct kvm_sev_launch_measure *measurement; g_autofree struct kvm_sev_launch_measure *measurement = NULL;
if (!sev_check_state(sev, SEV_STATE_LAUNCH_UPDATE)) { if (!sev_check_state(sev, SEV_STATE_LAUNCH_UPDATE)) {
return; return;
@ -708,7 +708,7 @@ sev_launch_get_measure(Notifier *notifier, void *unused)
if (!measurement->len) { if (!measurement->len) {
error_report("%s: LAUNCH_MEASURE ret=%d fw_error=%d '%s'", error_report("%s: LAUNCH_MEASURE ret=%d fw_error=%d '%s'",
__func__, ret, error, fw_error_to_str(errno)); __func__, ret, error, fw_error_to_str(errno));
goto free_measurement; return;
} }
data = g_new0(guchar, measurement->len); data = g_new0(guchar, measurement->len);
@ -720,7 +720,7 @@ sev_launch_get_measure(Notifier *notifier, void *unused)
if (ret) { if (ret) {
error_report("%s: LAUNCH_MEASURE ret=%d fw_error=%d '%s'", error_report("%s: LAUNCH_MEASURE ret=%d fw_error=%d '%s'",
__func__, ret, error, fw_error_to_str(errno)); __func__, ret, error, fw_error_to_str(errno));
goto free_data; return;
} }
sev_set_guest_state(sev, SEV_STATE_LAUNCH_SECRET); sev_set_guest_state(sev, SEV_STATE_LAUNCH_SECRET);
@ -728,11 +728,6 @@ sev_launch_get_measure(Notifier *notifier, void *unused)
/* encode the measurement value and emit the event */ /* encode the measurement value and emit the event */
sev->measurement = g_base64_encode(data, measurement->len); sev->measurement = g_base64_encode(data, measurement->len);
trace_kvm_sev_launch_measurement(sev->measurement); trace_kvm_sev_launch_measurement(sev->measurement);
free_data:
g_free(data);
free_measurement:
g_free(measurement);
} }
char * char *