From e9be93974b24733f20502ce64c54b5ec749a0a3a Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Sun, 30 Jun 2024 21:16:06 +0200 Subject: ahci/ext2: small fixes --- kernel/fs/ext2.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'kernel/fs') diff --git a/kernel/fs/ext2.c b/kernel/fs/ext2.c index ce1c6dd..1eeafce 100644 --- a/kernel/fs/ext2.c +++ b/kernel/fs/ext2.c @@ -559,10 +559,12 @@ int write_inode(int inode_num, u8 *data, u64 size, u64 offset, u64 *file_size, u32 num_blocks_required = BLOCKS_REQUIRED(fsize, block_byte_size); u32 delta = num_blocks_required - num_blocks_used; - int blocks[delta]; - get_free_blocks(1, blocks, delta); - for (u32 i = num_blocks_used; i < num_blocks_required; i++) { - assert(ext2_allocate_block(inode, i, blocks[i - num_blocks_used])); + if (delta > 0) { + int blocks[delta]; + get_free_blocks(1, blocks, delta); + for (u32 i = num_blocks_used; i < num_blocks_required; i++) { + assert(ext2_allocate_block(inode, i, blocks[i - num_blocks_used])); + } } inode->num_disk_sectors = -- cgit v1.2.3