[libvirt] [PATCH] util: fix potential segfault

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

On Wed, Apr 12, 2017 at 17:38:06 +0800, Wang King wrote:
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. ---
I've already pushed the previous version with some changes to the commit message.
participants (2)
-
Peter Krempa
-
Wang King