:: commit 366e8c488a10c12083a2cf70fce9ddcf98f71628

mintsuki <mintsuki@protonmail.com> — 2023-03-24 23:59

parents: f5cd6e4dd6

limine: Fix bug where internal modules are parsed with revision < 1

diff --git a/common/protos/limine.c b/common/protos/limine.c
index ee1b4292..ee6b9170 100644
--- a/common/protos/limine.c
+++ b/common/protos/limine.c
@@ -670,7 +670,7 @@ FEAT_START
         bool module_required = true;
         bool module_path_allocated = false;
 
-        if (i < module_request->internal_module_count) {
+        if (module_request->revision >= 1 && i < module_request->internal_module_count) {
             uint64_t *internal_modules = (void *)get_phys_addr(module_request->internal_modules);
             struct limine_internal_module *internal_module = (void *)get_phys_addr(internal_modules[i]);
 
@@ -693,7 +693,7 @@ FEAT_START
             module_required = internal_module->flags & LIMINE_INTERNAL_MODULE_REQUIRED;
         } else {
             struct conf_tuple conf_tuple =
-                    config_get_tuple(config, i - module_request->internal_module_count,
+                    config_get_tuple(config, i - (module_request->revision >= 1 ? module_request->internal_module_count : 0),
                                      "MODULE_PATH", "MODULE_CMDLINE");
 
             module_path = conf_tuple.value1;
tab: 248 wrap: offon