On Fri, Sep 01, 2023 at 08:02:33PM +0200, mwilck@xxxxxxxx wrote: > From: Martin Wilck <mwilck@xxxxxxxx> > > 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 <bmarzins@xxxxxxxxxx> > Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> > --- > 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@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel