41 lines
1.4 KiB
Diff
41 lines
1.4 KiB
Diff
|
|
From 5862d4429c3c3b813b46c32830800df34c6dafe0 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Pavel Hrdina <phrdina@redhat.com>
|
||
|
|
Date: Wed, 11 Mar 2020 13:25:59 +0100
|
||
|
|
Subject: [PATCH 074/108] domain_conf: fix NULL dereference on error in
|
||
|
|
virDomainObjCopyPersistentDef
|
||
|
|
|
||
|
|
The issue was introduced together with the function itself by commit
|
||
|
|
<da1eba6bc8f58bfce34136710d1979a3a44adb17>. Calling
|
||
|
|
`virDomainObjGetPersistentDef` may return NULL which is later passed
|
||
|
|
to `virDomainDefFormat` where the `def` attribute is marked as NONNULL
|
||
|
|
and later in `virDomainDefFormatInternalSetRootName` it is actually
|
||
|
|
defererenced without any other check.
|
||
|
|
|
||
|
|
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
|
||
|
|
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||
|
|
(cherry picked from commit b96174d9f2dcf0197bb6e58eea3fbbda17043478)
|
||
|
|
---
|
||
|
|
src/conf/domain_conf.c | 6 ++++++
|
||
|
|
1 file changed, 6 insertions(+)
|
||
|
|
|
||
|
|
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
|
||
|
|
index 9c83f4e347..b60b9d31a1 100644
|
||
|
|
--- a/src/conf/domain_conf.c
|
||
|
|
+++ b/src/conf/domain_conf.c
|
||
|
|
@@ -30074,6 +30074,12 @@ virDomainObjCopyPersistentDef(virDomainObjPtr dom,
|
||
|
|
virDomainDefPtr cur;
|
||
|
|
|
||
|
|
cur = virDomainObjGetPersistentDef(xmlopt, dom, parseOpaque);
|
||
|
|
+ if (!cur) {
|
||
|
|
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||
|
|
+ _("failed to get persistent definition object"));
|
||
|
|
+ return NULL;
|
||
|
|
+ }
|
||
|
|
+
|
||
|
|
return virDomainDefCopy(cur, xmlopt, parseOpaque, false);
|
||
|
|
}
|
||
|
|
|
||
|
|
--
|
||
|
|
2.33.0
|
||
|
|
|