[PATCH 2/2] board: dhelectronics: Use isascii() before isprint() in dh_read_eeprom_id_page()
Christoph Niedermaier
cniedermaier at dh-electronics.com
Wed Sep 10 15:20:52 CEST 2025
From: Marek Vasut <marek.vasut at mailbox.org>
Sent: Sunday, September 7, 2025 3:01 AM
> The isprint() checks printability across all 256 characters, some of the
> upper 128 characters are printable and produce artifacts on UART. Call
> isascii() first to only consider the bottom 7bit ASCII characters as
> printable, and then check their printability using isprint(). This fixes
> a rare misprint in case the ID page content is uninitialized or corrupted.
>
> Signed-off-by: Marek Vasut <marek.vasut at mailbox.org>
> ---
> Cc: Christoph Niedermaier <cniedermaier at dh-electronics.com>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: Tom Rini <trini at konsulko.com>
> ---
> board/dhelectronics/common/dh_common.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/board/dhelectronics/common/dh_common.c
> b/board/dhelectronics/common/dh_common.c
> index aeabd617374..e7ee23aa8ce 100644
> --- a/board/dhelectronics/common/dh_common.c
> +++ b/board/dhelectronics/common/dh_common.c
> @@ -88,9 +88,9 @@ int dh_read_eeprom_id_page(u8 *eeprom_buffer, const char *alias)
> /* Validate header ID */
> if (eip->hdr.id[0] != 'D' || eip->hdr.id[1] != 'H' || eip->hdr.id[2] != 'E') {
> printf("%s: Error validating header ID! (got %c%c%c (0x%02x 0x%02x 0x%02x)
> != expected DHE)\n",
> - __func__, isprint(eip->hdr.id[0]) ? eip->hdr.id[0] : '.',
> - isprint(eip->hdr.id[1]) ? eip->hdr.id[1] : '.',
> - isprint(eip->hdr.id[2]) ? eip->hdr.id[2] : '.',
> + __func__, (isascii(eip->hdr.id[0]) && isprint(eip->hdr.id[0])) ?
> eip->hdr.id[0] : '.',
> + (isascii(eip->hdr.id[1]) && isprint(eip->hdr.id[1])) ? eip-
> >hdr.id[1] : '.',
> + (isascii(eip->hdr.id[2]) && isprint(eip->hdr.id[2])) ? eip-
> >hdr.id[2] : '.',
> eip->hdr.id[0], eip->hdr.id[1], eip->hdr.id[2]);
> return -EINVAL;
> }
Reviewed-by: Christoph Niedermaier <cniedermaier at dh-electronics.com>
More information about the U-Boot
mailing list