diff options
Diffstat (limited to 'host')
-rw-r--r-- | host/arch/arm/lib/crossystem_arch.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/host/arch/arm/lib/crossystem_arch.c b/host/arch/arm/lib/crossystem_arch.c index 554fe810..7e6095eb 100644 --- a/host/arch/arm/lib/crossystem_arch.c +++ b/host/arch/arm/lib/crossystem_arch.c @@ -276,6 +276,13 @@ VbSharedDataHeader *VbSharedDataRead(void) { size_t size = 0; if (ReadFdtBlock("vboot-shared-data", &block, &size)) return NULL; + VbSharedDataHeader *p = (VbSharedDataHeader *)block; + if (p->magic != VB_SHARED_DATA_MAGIC) { + fprintf(stderr, "%s: failed to validate magic in " + "VbSharedDataHeader (%x != %x)\n", + __FUNCTION__, p->magic, VB_SHARED_DATA_MAGIC); + return NULL; + } return (VbSharedDataHeader *)block; } |