diff --git a/common/protos/limine.c b/common/protos/limine.c index ac53714b..671e7eed 100644 --- a/common/protos/limine.c +++ b/common/protos/limine.c @@ -570,7 +570,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)