aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Anderson <sean.anderson@seco.com>2022-04-22 14:50:23 -0400
committerTom Rini <trini@konsulko.com>2022-05-05 15:06:02 -0400
commitbfae2744dd136198a97b480bc0cc1814663fe33b (patch)
tree4db0bd4c46aecceff6c32be3017cefaa33372df2
parent30705cd89271ea05ff6c65552af3dc4f0680a03c (diff)
downloadu-boot-bfae2744dd136198a97b480bc0cc1814663fe33b.zip
u-boot-bfae2744dd136198a97b480bc0cc1814663fe33b.tar.gz
u-boot-bfae2744dd136198a97b480bc0cc1814663fe33b.tar.bz2
serial: smh: Check return value of strndup
strndup can fail. Check for it. Fixes: 4855b39be ("serial: smh: Implement puts for DM") Signed-off-by: Sean Anderson <sean.anderson@seco.com>
-rw-r--r--drivers/serial/serial_semihosting.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/serial/serial_semihosting.c b/drivers/serial/serial_semihosting.c
index 4328b3d..2561414 100644
--- a/drivers/serial/serial_semihosting.c
+++ b/drivers/serial/serial_semihosting.c
@@ -54,6 +54,9 @@ static ssize_t smh_serial_puts(struct udevice *dev, const char *s, size_t len)
}
buf = strndup(s, len);
+ if (!buf)
+ return -ENOMEM;
+
smh_puts(buf);
free(buf);
return len;