[libvirt] [PATCH 6/8] virTestCompareToFile: Don't access memory we don't own

Michal Privoznik mprivozn at redhat.com
Fri Aug 4 14:22:34 UTC 2017


After reading the contents of a file some cleanup is performed.
However, the check for it might access a byte outside of the
string - if the file is empty in the first place. Then strlen()
is zero.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 tests/testutils.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/testutils.c b/tests/testutils.c
index 71692f1fa..4bb6140ec 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -796,6 +796,7 @@ virTestCompareToFile(const char *strcontent,
         goto failure;
 
     if (filecontent &&
+        strlen(filecontent) > 0 &&
         filecontent[strlen(filecontent) - 1] == '\n' &&
         strcontent[strlen(strcontent) - 1] != '\n') {
         if (virAsprintf(&fixedcontent, "%s\n", strcontent) < 0)
-- 
2.13.0




More information about the libvir-list mailing list