limine: Do not return SMBIOS response if not present
diff --git a/common/protos/limine.c b/common/protos/limine.c
index 79e309e6..3b846abb 100644
--- a/common/protos/limine.c
+++ b/common/protos/limine.c
@@ -614,7 +614,11 @@ FEAT_START
smbios_response->entry_64 = reported_addr(smbios_entry_64);
}
- smbios_request->response = reported_addr(smbios_response);
+ if (smbios_entry_32 == NULL && smbios_entry_64 == NULL) {
+ pmm_free(smbios_response, sizeof(struct limine_smbios_response));
+ } else {
+ smbios_request->response = reported_addr(smbios_response);
+ }
FEAT_END
#if defined (UEFI)
