summaryrefslogtreecommitdiff
path: root/host/lib/fmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/fmap.c')
-rw-r--r--host/lib/fmap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/host/lib/fmap.c b/host/lib/fmap.c
index f9b0e5ed..76fa9f1d 100644
--- a/host/lib/fmap.c
+++ b/host/lib/fmap.c
@@ -14,7 +14,10 @@ FmapHeader *fmap_find(uint8_t *ptr, size_t size)
{
size_t i;
FmapHeader *fmap_header;
- for (i=0; i<size; i += FMAP_SEARCH_STRIDE, ptr += FMAP_SEARCH_STRIDE) {
+ size_t lim = size - sizeof(FmapHeader);
+ for (i = 0;
+ i <= lim;
+ i += FMAP_SEARCH_STRIDE, ptr += FMAP_SEARCH_STRIDE) {
if (0 != memcmp(ptr, FMAP_SIGNATURE, FMAP_SIGNATURE_SIZE))
continue;
fmap_header = (FmapHeader *)ptr;