On Fri, Sep 01, 2023 at 08:02:33PM +0200, mwi...@suse.com wrote:
> From: Martin Wilck <mwi...@suse.com>
> 
> libdevmapper will most probably not return a UUID for non-existing
> maps anyway. But it's cheap to double-check here.
> 
Reviewed-by: Benjamin Marzinski <bmarz...@redhat.com>
> Signed-off-by: Martin Wilck <mwi...@suse.com>
> ---
>  libmultipath/devmapper.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/libmultipath/devmapper.c b/libmultipath/devmapper.c
> index 248c373..9be82f4 100644
> --- a/libmultipath/devmapper.c
> +++ b/libmultipath/devmapper.c
> @@ -706,12 +706,16 @@ dm_get_prefixed_uuid(const char *name, char *uuid, int 
> uuid_len)
>  {
>       struct dm_task *dmt;
>       const char *uuidtmp;
> +     struct dm_info info;
>       int r = 1;
>  
>       dmt = libmp_dm_task_create(DM_DEVICE_INFO);
>       if (!dmt)
>               return 1;
>  
> +     if (uuid_len > 0)
> +             uuid[0] = '\0';
> +
>       if (!dm_task_set_name (dmt, name))
>               goto uuidout;
>  
> @@ -720,11 +724,13 @@ dm_get_prefixed_uuid(const char *name, char *uuid, int 
> uuid_len)
>               goto uuidout;
>       }
>  
> +     if (!dm_task_get_info(dmt, &info) ||
> +         !info.exists)
> +             goto uuidout;
> +
>       uuidtmp = dm_task_get_uuid(dmt);
>       if (uuidtmp)
>               strlcpy(uuid, uuidtmp, uuid_len);
> -     else
> -             uuid[0] = '\0';
>  
>       r = 0;
>  uuidout:
> -- 
> 2.41.0
--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel

Reply via email to