:: commit be3d60ec8d74b9285df42659035de02cfbd83f30

mintsuki <mintsuki@protonmail.com> — 2020-09-21 11:39

parents: 6320126ec4

Fix warnings and build issues and update binary image

diff --git a/limine.bin b/limine.bin
index bc696fbc..de9bc54a 100644
Binary files a/limine.bin and b/limine.bin differ
diff --git a/stage2/fs/ext2.c b/stage2/fs/ext2.c
index 35bfa323..485b3704 100644
--- a/stage2/fs/ext2.c
+++ b/stage2/fs/ext2.c
@@ -262,9 +262,9 @@ static struct ext4_extent_header* ext4_find_leaf(struct ext4_extent_header* ext_
         if (--i < 0)

             panic("extent not found");

 

-        uint64_t block = (index[i].leaf_hi << 32) | index[i].leaf;

+        uint64_t block = ((uint64_t)index[i].leaf_hi << 32) | index[i].leaf;

         if(!buf)

-            buf = balloc(block_size);

+            buf = conv_mem_alloc(block_size);

         read_partition(drive, part, buf, (block * block_size), block_size);

         ext_block = buf;

     }

@@ -305,7 +305,7 @@ static int inode_read(void *buf, uint64_t loc, uint64_t count,
                 if (block >= ext[i].len) {

                     panic("block longer than extent");

                 } else {

-                    uint64_t start = (ext[i].start_hi << 32) + ext[i].start;

+                    uint64_t start = ((uint64_t)ext[i].start_hi << 32) + ext[i].start;

                     block_index = start + block;

                 }

             } else {

tab: 248 wrap: offon