From: Michal Privoznik Date: Tue, 14 May 2019 15:05:45 +0000 (+0200) Subject: test_driver: Don't access @vm after it was set to NULL X-Git-Tag: v5.6.0-rc1~345 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3b1a5dde7989deaac3df40ef35ebc844d311e42a;p=thirdparty%2Flibvirt.git test_driver: Don't access @vm after it was set to NULL If something goes wrong in testDomainGetDiskErrors() then we try to free any strings that were previously allocated in return array. Problem is, in my review of original patch (89320788ac4) I've mistakenly did some changes which result in possible NULL dereference (@vm is set to NULL as the first thing under cleanup label). Signed-off-by: Michal Privoznik Reviewed-by: Andrea Bolognani --- diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 4b1f2724a0..e3545e7085 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -3268,7 +3268,7 @@ static int testDomainGetDiskErrors(virDomainPtr dom, virCheckFlags(0, -1); if (!(vm = testDomObjFromDomain(dom))) - goto cleanup; + return -1; if (virDomainObjCheckActive(vm) < 0) goto cleanup; @@ -3285,11 +3285,11 @@ static int testDomainGetDiskErrors(virDomainPtr dom, } cleanup: - virDomainObjEndAPI(&vm); if (ret < 0) { for (i = 0; i < MIN(vm->def->ndisks, maxerrors); i++) VIR_FREE(errors[i].disk); } + virDomainObjEndAPI(&vm); return ret; }