On 06/01/2015 02:09 PM, Laine Stump wrote:
This was revealed when I made a cut-paste mistake in an upgrade to
virSocketAddrGetRange(), leading to failure to check for the end
address being outside of the defined network, but a negative test case
that should have caught the error instead returned success.
ACK
tests/sockettest.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/tests/sockettest.c b/tests/sockettest.c
index 84170d5..292edb6 100644
--- a/tests/sockettest.c
+++ b/tests/sockettest.c
@@ -103,10 +103,12 @@ testRange(const char *saddrstr, const char *eaddrstr,
int gotsize = virSocketAddrGetRange(&saddr, &eaddr, &netaddr, prefix);
VIR_DEBUG("Size want %d vs got %d", size, gotsize);
- if (gotsize < 0 || gotsize != size) {
- return pass ? -1 : 0;
+ if (pass) {
+ /* fail if virSocketAddrGetRange returns failure, or unexpected size */
+ return (gotsize < 0 || gotsize != size) ? -1 : 0;
} else {
- return pass ? 0 : -1;
+ /* succeed if virSocketAddrGetRange fails, otherwise fail. */
+ return gotsize < 0 ? 0 : -1;
}
}
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org