virBufferCurrentContent might be get a NULL string, and then without checking it,
this can cause a segfault as strlen expects a string != NULL. Use virBufferCheckError
to check error before calling strlen.
---
src/util/virsystemd.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/util/virsystemd.c b/src/util/virsystemd.c
index ceb1c1a..cfc4bdb 100644
--- a/src/util/virsystemd.c
+++ b/src/util/virsystemd.c
@@ -135,6 +135,8 @@ virSystemdAppendValidMachineName(virBufferPtr buf,
bool skip_dot = false;
for (; *name; name++) {
+ if (virBufferCheckError(buf) < 0)
+ break;
if (strlen(virBufferCurrentContent(buf)) >= 64)
break;
--
2.8.3