:: commit faec367cd624334413f93b57ca256d188e98f692

Mintsuki <mintsuki@protonmail.com> — 2026-04-24 04:00

parents: c0c5cc4e48

protos/limine: Strip gzip $ marker from k_resource before reuse for module paths

diff --git a/common/protos/limine.c b/common/protos/limine.c
index 0bd53bc1..4bfea06c 100644
--- a/common/protos/limine.c
+++ b/common/protos/limine.c
@@ -493,6 +493,10 @@ noreturn void limine_load(char *config, char *cmdline) {
     strcpy(k_path_copy, kernel_path);
     char *k_resource = NULL, *k_root = NULL, *k_path = NULL, *k_hash = NULL;
     uri_resolve(k_path_copy, &k_resource, &k_root, &k_path, &k_hash);
+    // Strip the gzip `$` marker so reuse for module paths doesn't double-prefix.
+    if (k_resource[0] == '$') {
+        k_resource++;
+    }
     // Copy k_resource and k_root since uri_resolve returns pointers to a static
     // buffer that gets overwritten by subsequent uri_open/uri_resolve calls
     k_resource = strdup(k_resource);
tab: 248 wrap: offon