aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPankaj Gupta <pankaj.gupta@amd.com>2024-06-07 13:36:10 -0500
committerPaolo Bonzini <pbonzini@redhat.com>2024-06-11 14:29:01 +0200
commit48779faef3c8e2fe70bd8285bffa731bd76dc844 (patch)
treeb30a91c3d0a5b5bdea1171540f6db4bb1508b9f4
parentc94eb5db8e409c932da9eb187e68d4cdc14acc5b (diff)
downloadqemu-48779faef3c8e2fe70bd8285bffa731bd76dc844.zip
qemu-48779faef3c8e2fe70bd8285bffa731bd76dc844.tar.gz
qemu-48779faef3c8e2fe70bd8285bffa731bd76dc844.tar.bz2
i386/sev: Move SEV_COMMON null check before dereferencing
Fixes Coverity CID 1546886. Fixes: 9861405a8f ("i386/sev: Invoke launch_updata_data() for SEV class") Signed-off-by: Pankaj Gupta <pankaj.gupta@amd.com> Message-ID: <20240607183611.1111100-3-pankaj.gupta@amd.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--target/i386/sev.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/target/i386/sev.c b/target/i386/sev.c
index 7c9df62..f18432f 100644
--- a/target/i386/sev.c
+++ b/target/i386/sev.c
@@ -1529,11 +1529,12 @@ int
sev_encrypt_flash(hwaddr gpa, uint8_t *ptr, uint64_t len, Error **errp)
{
SevCommonState *sev_common = SEV_COMMON(MACHINE(qdev_get_machine())->cgs);
- SevCommonStateClass *klass = SEV_COMMON_GET_CLASS(sev_common);
+ SevCommonStateClass *klass;
if (!sev_common) {
return 0;
}
+ klass = SEV_COMMON_GET_CLASS(sev_common);
/* if SEV is in update state then encrypt the data else do nothing */
if (sev_check_state(sev_common, SEV_STATE_LAUNCH_UPDATE)) {