i386/sev: Move SEV_COMMON null check before dereferencing
authorPankaj Gupta <pankaj.gupta@amd.com>
Fri, 7 Jun 2024 18:36:10 +0000 (13:36 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 11 Jun 2024 12:29:01 +0000 (14:29 +0200)
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>
target/i386/sev.c

index 7c9df621de1162288ed30a0bba810dcef4bf1bf1..f18432f58e2159a6108cf81a1191bc7251f2a399 100644 (file)
@@ -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)) {