Re: [PATCH] libfdt: fdt_path_offset_namelen: Reject empty path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hi Pierre-Clément,

On Fri, 6 Oct 2023 at 06:48, Pierre-Clément Tosi <ptosi@xxxxxxxxxx> wrote:
>
> Make empty paths result in FDT_ERR_BADPATH.
>
> Per the specification (v0.4-rc4):
>
> > The convention for specifying a device path is:
> >     /node-name-1/node-name-2/node-name-N
> >
> > The path to the root node is /.
> >
> > A unit address may be omitted if the full path to the
> > node is unambiguous.
>
> Signed-off-by: Pierre-Clément Tosi <ptosi@xxxxxxxxxx>
> ---
>  libfdt/fdt_ro.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/libfdt/fdt_ro.c b/libfdt/fdt_ro.c
> index c4c520c..46b4ef5 100644
> --- a/libfdt/fdt_ro.c
> +++ b/libfdt/fdt_ro.c
> @@ -255,6 +255,9 @@ int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen)
>
>         FDT_RO_PROBE(fdt);
>
> +       if (namelen < 1)
> +               return -FDT_ERR_BADPATH;
> +

This would be end == path, right? Would it be better to check that?
Are you worried about negative numbers?

>         /* see if we have an alias */
>         if (*path != '/') {
>                 const char *q = memchr(path, '/', end - p);
> --
> 2.42.0.609.gbb76f46606-goog
>
>
> --
> Pierre
>

Regards,
Simon





[Index of Archives]     [Device Tree]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux