[dm-devel] [PATCH v4 12/12] multipathd: fix use-after-free in handle_path_wwid_change()
Benjamin Marzinski
bmarzins at redhat.com
Wed Aug 31 17:59:31 UTC 2022
On Tue, Aug 30, 2022 at 09:27:13PM +0200, mwilck at suse.com wrote:
> From: Martin Wilck <mwilck at suse.com>
>
> Found by coverity (defect #380536).
>
> Fixes: b4eb57e ("libmultipath, multipathd: log failure setting sysfs attributes")
Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>
> ---
> multipathd/main.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/multipathd/main.c b/multipathd/main.c
> index 66177cd..2d0a7bc 100644
> --- a/multipathd/main.c
> +++ b/multipathd/main.c
> @@ -951,10 +951,12 @@ handle_path_wwid_change(struct path *pp, struct vectors *vecs)
> struct udev_device *udd;
> static const char add[] = "add";
> ssize_t ret;
> + char dev[FILE_NAME_SIZE];
>
> if (!pp || !pp->udev)
> return;
>
> + strlcpy(dev, pp->dev, sizeof(dev));
> udd = udev_device_ref(pp->udev);
> if (!(ev_remove_path(pp, vecs, 1) & REMOVE_PATH_SUCCESS) && pp->mpp) {
> pp->dmstate = PSTATE_FAILED;
> @@ -965,8 +967,7 @@ handle_path_wwid_change(struct path *pp, struct vectors *vecs)
> udev_device_unref(udd);
> if (ret != sizeof(add) - 1)
> log_sysfs_attr_set_value(1, ret,
> - "%s: failed to trigger add event",
> - pp->dev);
> + "%s: failed to trigger add event", dev);
> }
>
> bool
> --
> 2.37.1
More information about the dm-devel
mailing list