summaryrefslogtreecommitdiff
path: root/include/sqfs/block.h
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2020-06-20 18:52:46 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2020-06-20 19:18:32 +0200
commit94cfa86b56792e8b95e3807c8174e348d70eac59 (patch)
tree0cdb4c2d994e9b9ed56d0112c2a2906b283e51df /include/sqfs/block.h
parenteda4afe79218d60271630eeb97eabad4a6cdf20b (diff)
Fix block bounds checking in libsquashfs data reader
Instead of doing the fragile size comparison in both loops, simply bail from the function if offset is out of bounds, clamp the size to the available range of the file and abail if it is zero. As a result, a lot of checks can be removed and the function will not return data beyond EOF. This problem occoured with files that have a short last block instead of a fragment. Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'include/sqfs/block.h')
0 files changed, 0 insertions, 0 deletions