[dm-devel] [PATCH] libmultipath: snprint_devices(): avoid NULL dereference
Benjamin Marzinski
bmarzins at redhat.com
Mon Jan 25 21:46:06 UTC 2021
On Mon, Jan 25, 2021 at 04:23:04PM +0100, mwilck at suse.com wrote:
> From: Martin Wilck <mwilck at suse.com>
>
> All libudev functions may return NULL. Watch out for it.
>
> Fixes: d041258 ("libmultipath: snprint_devices(): use udev_enumerate"
> Signed-off-by: Martin Wilck <mwilck at suse.com>
Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>
> ---
> libmultipath/print.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/libmultipath/print.c b/libmultipath/print.c
> index 19de2c7..8151e11 100644
> --- a/libmultipath/print.c
> +++ b/libmultipath/print.c
> @@ -2055,8 +2055,16 @@ int snprint_devices(struct config *conf, char *buff, size_t len,
> struct udev_device *u_dev;
>
> path = udev_list_entry_get_name(item);
> + if (!path)
> + continue;
> u_dev = udev_device_new_from_syspath(udev, path);
> + if (!u_dev)
> + continue;
> devname = udev_device_get_sysname(u_dev);
> + if (!devname) {
> + udev_device_unref(u_dev);
> + continue;
> + }
>
> fwd += snprintf(buff + fwd, len - fwd, " %s", devname);
> if (fwd >= len)
> --
> 2.29.2
More information about the dm-devel
mailing list