git: 46927f674466 - main - stand/efi/eficom: Free comc_port if we can't find the serial port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 25 May 2023 04:34:06 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=46927f674466965db76f8e3138bcc630cdd6ed11
commit 46927f674466965db76f8e3138bcc630cdd6ed11
Author: Warner Losh <imp@FreeBSD.org>
AuthorDate: 2023-05-24 22:34:51 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-05-25 04:33:53 +0000
stand/efi/eficom: Free comc_port if we can't find the serial port
If we can't find the serial port, free comc_port and return early. The
serial port just isn't there.
Sponsored by: Netflix
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D40223
---
stand/efi/libefi/eficom.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/stand/efi/libefi/eficom.c b/stand/efi/libefi/eficom.c
index 6ff8512dedd7..4c104114d445 100644
--- a/stand/efi/libefi/eficom.c
+++ b/stand/efi/libefi/eficom.c
@@ -329,6 +329,16 @@ comc_probe(struct console *sc)
}
}
+ /*
+ * If there's no sio, then the device isn't there, so just return since
+ * the present flags aren't yet set.
+ */
+ if (comc_port->sio == NULL) {
+ free(comc_port);
+ comc_port = NULL;
+ return;
+ }
+
if (env != NULL)
unsetenv("efi_com_port");
snprintf(value, sizeof (value), "%u", comc_port->ioaddr);