On 05/06/2013 08:45 AM, Osier Yang wrote: > Introduced by commit 244ce462e29, which refactored the helper for wwn > reading, however, it forgot to change the old "strndup" and "sizeof(buf)", > "sizeof(buf)" operates on the fixed length array ("buf") in the old code, > but now "buf" is a pointer. > > Before the fix: > > % virsh nodedev-dumpxml scsi_host5 > <device> > <name>scsi_host5</name> > <parent>pci_0000_04_00_1</parent> > <capability type='scsi_host'> > <host>5</host> > <capability type='fc_host'> > <wwnn>2001001b</wwnn> > <wwpn>2101001b</wwpn> > <fabric_wwn>2001000d</fabric_wwn> > </capability> > </capability> > </device> > > With the fix: > > % virsh nodedev-dumpxml scsi_host5 > <device> > <name>scsi_host5</name> > <parent>pci_0000_04_00_1</parent> > <capability type='scsi_host'> > <host>5</host> > <capability type='fc_host'> > <wwnn>0x2001001b32a9da4e</wwnn> > <wwpn>0x2101001b32a9da4e</wwpn> > <fabric_wwn>0x2001000dec9877c1</fabric_wwn> > </capability> > </capability> > </device> > --- > src/util/virutil.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > ACK for technically right; however, since this problem is in 1.0.4 is there an "effect" where there is a written buffer that has the shorter (and wrong) wwnn/wwpn that could cause "issues" on the read (and possible compare) side now?? John > diff --git a/src/util/virutil.c b/src/util/virutil.c > index 982d4a3..7773d5c 100644 > --- a/src/util/virutil.c > +++ b/src/util/virutil.c > @@ -3121,7 +3121,7 @@ virReadFCHost(const char *sysfs_prefix, > else > p = buf; > > - if (!(*result = strndup(p, sizeof(buf)))) { > + if (!(*result = strdup(p))) { > virReportOOMError(); > goto cleanup; > } > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list