From 21ee0e79e90c3cf63613bc1a00a609cfaf1777b2 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Sun, 17 Apr 2016 16:36:32 +0200 Subject: isofs: make superblock detection more robust * isofs/isofs.h (disk_image_len): New variable. * isofs/main.c (read_sblock): Avoid out of bounds access. * isofs/pager.c (disk_image_len): New variable. (create_disk_pager): Initialize 'disk_image_len'. --- isofs/pager.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'isofs/pager.c') diff --git a/isofs/pager.c b/isofs/pager.c index 35de37e4..b4be4e2d 100644 --- a/isofs/pager.c +++ b/isofs/pager.c @@ -28,6 +28,7 @@ struct port_bucket *pager_bucket; /* Mapped image of the disk */ void *disk_image; +size_t disk_image_len; /* Implement the pager_read_page callback from the pager library. See @@ -148,6 +149,7 @@ create_disk_pager (void) upi->np = 0; pager_bucket = ports_create_bucket (); diskfs_start_disk_pager (upi, pager_bucket, 1, 0, store->size, &disk_image); + disk_image_len = store->size; upi->p = diskfs_disk_pager; } -- cgit v1.2.3