diff --git a/drivers/filesystems/ffs/src/block.c b/drivers/filesystems/ffs/src/block.c index 8507695974..7ab5ff24a5 100644 --- a/drivers/filesystems/ffs/src/block.c +++ b/drivers/filesystems/ffs/src/block.c @@ -463,6 +463,9 @@ FFSReadDisk( Length = (ULONG)(Size + Offset + SECTOR_SIZE - 1 - Lba) & (~((ULONG)SECTOR_SIZE - 1)); + if (!Length) + return NT_SUCCESS; + Buf = ExAllocatePoolWithTag(PagedPool, Length, FFS_POOL_TAG); if (!Buf) { diff --git a/drivers/filesystems/reiserfs/src/blockio.c b/drivers/filesystems/reiserfs/src/blockio.c index befe4136a5..80c94921c4 100644 --- a/drivers/filesystems/reiserfs/src/blockio.c +++ b/drivers/filesystems/reiserfs/src/blockio.c @@ -455,6 +455,9 @@ RfsdReadDisk( Length = (ULONG)(Size + Offset + SECTOR_SIZE - 1 - Lba) & (~((ULONG)SECTOR_SIZE - 1)); + if (!Length) + return NT_SUCCESS; + // Allocate a temporary buffer to read the sector-aligned data into Buf = ExAllocatePoolWithTag(PagedPool, Length, RFSD_POOL_TAG); if (!Buf) {