[libvirt] [PATCH] xenapi: Check for valid private data in xenapiSessionErrorHandle

Matthias Bolte matthias.bolte at googlemail.com
Sun Mar 14 21:08:05 UTC 2010


---
 src/xenapi/xenapi_utils.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/xenapi/xenapi_utils.c b/src/xenapi/xenapi_utils.c
index 4b9a6d8..bfd53ed 100644
--- a/src/xenapi/xenapi_utils.c
+++ b/src/xenapi/xenapi_utils.c
@@ -374,12 +374,12 @@ xenapiSessionErrorHandle(virConnectPtr conn, virErrorNumber errNum,
                          const char *buf, const char *filename, const char *func,
                          size_t lineno)
 {
-    xen_session *session = ((struct _xenapiPrivate *)(conn->privateData))->session;
+    struct _xenapiPrivate *priv = conn->privateData;
 
-    if (buf == NULL) {
-        char *ret = returnErrorFromSession(session);
+    if (buf == NULL && priv != NULL && priv->session != NULL) {
+        char *ret = returnErrorFromSession(priv->session);
         virReportErrorHelper(conn, VIR_FROM_XENAPI, errNum, filename, func, lineno, _("%s"), ret);
-        xen_session_clear_error(session);
+        xen_session_clear_error(priv->session);
         VIR_FREE(ret);
     } else {
         virReportErrorHelper(conn, VIR_FROM_XENAPI, errNum, filename, func, lineno, _("%s"), buf);
-- 
1.6.3.3




More information about the libvir-list mailing list