From d2308d41d75033e9027e466eff126696cd921523 Mon Sep 17 00:00:00 2001 From: Mengxi-Xu <109797814+Mengxi-Xu@users.noreply.github.com> Date: Mon, 5 Jun 2023 01:50:04 +0800 Subject: [PATCH] [components] [fdt] add parameter check --- components/drivers/fdt/libfdt/fdt_rw.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/drivers/fdt/libfdt/fdt_rw.c b/components/drivers/fdt/libfdt/fdt_rw.c index 74954c2f28..58827ef898 100644 --- a/components/drivers/fdt/libfdt/fdt_rw.c +++ b/components/drivers/fdt/libfdt/fdt_rw.c @@ -96,7 +96,9 @@ static int _fdt_splice(void *fdt, void *splicepoint, int oldlen, int newlen) { char *p = splicepoint; char *end = (char *)fdt + _fdt_data_size(fdt); - + + if (oldlen <= 0) + return -FDT_ERR_BADOFFSET; if (((p + oldlen) < p) || ((p + oldlen) > end)) return -FDT_ERR_BADOFFSET; if ((p < (char *)fdt) || ((end - oldlen + newlen) < (char *)fdt))