It's possible that virBitmapNewString returns NULL with an error
string (and not an allocation failure that would abort); however, if
virBitmapToString is called with a NULL @bitmap, then it will fail
in an ugly manner. So rather than have if (!map && !str) logic, split
the checks for each variable.
Found by Coverity
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
tests/virbitmaptest.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tests/virbitmaptest.c b/tests/virbitmaptest.c
index 545e9272df..2808d9c880 100644
--- a/tests/virbitmaptest.c
+++ b/tests/virbitmaptest.c
@@ -682,9 +682,11 @@ test13(const void *opaque G_GNUC_UNUSED)
for (i = 0; i < G_N_ELEMENTS(strings); i++) {
map = virBitmapNewString(strings[i]);
- str = virBitmapToString(map, false, true);
+ if (!map)
+ goto cleanup;
- if (!map || !str)
+ str = virBitmapToString(map, false, true);
+ if (!str)
goto cleanup;
if (STRNEQ(strings[i], str)) {
--
2.20.1