diff options
author | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> | 2023-09-29 02:47:16 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-10-09 15:24:31 -0400 |
commit | 6a1e0ae43e2108a88e022103b3b303c9f4964a64 (patch) | |
tree | e6e1c1e478ca5a0d9a5be1f14cc5dc9ed6a06bbc | |
parent | 6826c432e35115bbdafc17062733f5030b7f8366 (diff) |
dm: serial: fix serial_post_probe()
The size of the name of a udevice is not limited.
When setting the fixed sized name field of a stdio device we must ensure
that the target string is NUL terminated to avoid buffer overflows.
Fixes: 57d92753d4ca ("dm: Add a uclass for serial devices")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | drivers/serial/serial-uclass.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c index 5e2e7dfbcb3..4a2da7a3317 100644 --- a/drivers/serial/serial-uclass.c +++ b/drivers/serial/serial-uclass.c @@ -520,7 +520,7 @@ static int serial_post_probe(struct udevice *dev) return 0; memset(&sdev, '\0', sizeof(sdev)); - strncpy(sdev.name, dev->name, sizeof(sdev.name)); + strlcpy(sdev.name, dev->name, sizeof(sdev.name)); sdev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_DM; sdev.priv = dev; sdev.putc = serial_stub_putc; |