]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/Bds/BdsInternal.h
ArmPlatformPkg/Bds: Check OptionalData is not NULL before accessing it
[mirror_edk2.git] / ArmPlatformPkg / Bds / BdsInternal.h
index 033805b49ceb18e013aff142898f88deb706db25..ad593bbea6bd30a59f56d0aba248b5f3f06fe6d2 100644 (file)
 \r
 #define ARM_BDS_OPTIONAL_DATA_SIGNATURE   SIGNATURE_32('a', 'b', 'o', 'd')\r
 \r
-#define IS_ARM_BDS_BOOTENTRY(ptr)  (ReadUnaligned32 ((CONST UINT32*)&((ARM_BDS_LOADER_OPTIONAL_DATA*)((ptr)->OptionalData))->Header.Signature) == ARM_BDS_OPTIONAL_DATA_SIGNATURE)\r
+#define IS_ARM_BDS_BOOTENTRY(ptr)  \\r
+  (((ptr)->OptionalData != NULL) && \\r
+   (ReadUnaligned32 ((CONST UINT32*)&((ARM_BDS_LOADER_OPTIONAL_DATA*)((ptr)->OptionalData))->Header.Signature) \\r
+      == ARM_BDS_OPTIONAL_DATA_SIGNATURE))\r
 \r
 #define UPDATE_BOOT_ENTRY L"Update entry: "\r
 #define DELETE_BOOT_ENTRY L"Delete entry: "\r