Exit CBFS file search early if zero signature found.
[seabios.git] / src / coreboot.c
index cdb13ba5da2de2bd5c7e45c03e59f4824bc7ad9b..17c953126d94ecd793fdefdbe54e6b8ce01d19f0 100644 (file)
@@ -331,8 +331,11 @@ cbfs_search(struct cbfs_file *file)
     for (;;) {
         if (file < (struct cbfs_file *)(0xFFFFFFFF - ntohl(CBHDR->romsize)))
             return NULL;
-        if (file->magic == CBFS_FILE_MAGIC)
+        u64 magic = file->magic;
+        if (magic == CBFS_FILE_MAGIC)
             return file;
+        if (magic == 0)
+            return NULL;
         file = (void*)file + ntohl(CBHDR->align);
     }
 }