Another warning caught by coverity. Continue to perform best-effort
closing and resource release, but warn the caller about the failure.
* src/esx/esx_driver.c (esxClose): Return an error on failure to
close.
---
src/esx/esx_driver.c | 18 +++++++++++-------
1 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index e125a09..45b389f 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -2,6 +2,7 @@
/*
* esx_driver.c: core driver methods for managing VMware ESX hosts
*
+ * Copyright (C) 2010 Red Hat, Inc.
* Copyright (C) 2009, 2010 Matthias Bolte <matthias.bolte(a)googlemail.com>
* Copyright (C) 2009 Maximilian Wilhelm <max(a)rfc2324.org>
*
@@ -559,16 +560,19 @@ static int
esxClose(virConnectPtr conn)
{
esxPrivate *priv = conn->privateData;
+ int result = 0;
- esxVI_EnsureSession(priv->host);
-
- esxVI_Logout(priv->host);
+ if (esxVI_EnsureSession(priv->host) < 0 ||
+ esxVI_Logout(priv->host) < 0) {
+ result = -1;
+ }
esxVI_Context_Free(&priv->host);
if (priv->vCenter != NULL) {
- esxVI_EnsureSession(priv->vCenter);
-
- esxVI_Logout(priv->vCenter);
+ if (esxVI_EnsureSession(priv->vCenter) < 0 ||
+ esxVI_Logout(priv->vCenter) < 0) {
+ result = -1;
+ }
esxVI_Context_Free(&priv->vCenter);
}
@@ -579,7 +583,7 @@ esxClose(virConnectPtr conn)
conn->privateData = NULL;
- return 0;
+ return result;
}
--
1.6.6.1