On 08/01/2018 06:44 AM, Michal Privoznik wrote:
In virStorageBackendCreateIfaceIQN() the virRandomBits() is
called in order to use random bits to generate random name for
new interface. However, virAsprintf() is expecting 32 bits and we
are requesting only 30.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/util/viriscsi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/util/viriscsi.c b/src/util/viriscsi.c
index 653b4fd932..f00aeb53a7 100644
--- a/src/util/viriscsi.c
+++ b/src/util/viriscsi.c
@@ -221,7 +221,7 @@ virStorageBackendCreateIfaceIQN(const char *initiatoriqn,
if (virAsprintf(&temp_ifacename,
"libvirt-iface-%08llx",
- (unsigned long long)virRandomBits(30)) < 0)
+ (unsigned long long)virRandomBits(32)) < 0)
Are we sure that this wasn't intentional that the 2 most significant
bits are supposed to be zero (to avoid broadcast interface addresses, ro
example)? (If so, then keep things at 30 but add a comment; if not,
then this change seems fine).
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization:
qemu.org |
libvirt.org