:: commit 8ca033c966471a90ef714046c1af2e239c67794b

Mintsuki <mintsuki@protonmail.com> — 2026-01-11 21:01

parents: ecc7d12db3

host: Validate uninstall data entry count before use

diff --git a/host/limine.c b/host/limine.c
index ee4e4db6..7da1894c 100644
--- a/host/limine.c
+++ b/host/limine.c
@@ -384,6 +384,12 @@ static bool load_uninstall_data(const char *filename) {
         goto fread_error;
     }
 
+    if (uninstall_data_i > UNINSTALL_DATA_MAX) {
+        fprintf(stderr, "error: load_uninstall_data(): too many entries (%zu > %d)\n",
+                (size_t)uninstall_data_i, UNINSTALL_DATA_MAX);
+        goto error;
+    }
+
     for (size_t i = 0; i < uninstall_data_i; i++) {
         if (fread(&uninstall_data[i].loc, sizeof(uint64_t), 1, udfile) != 1) {
             goto fread_error;
tab: 248 wrap: offon