]> xenbits.xensource.com Git - libvirt.git/commitdiff
xenapi: Check for valid private data in xenapiSessionErrorHandle
authorMatthias Bolte <matthias.bolte@googlemail.com>
Sun, 14 Mar 2010 20:53:01 +0000 (21:53 +0100)
committerMatthias Bolte <matthias.bolte@googlemail.com>
Tue, 16 Mar 2010 19:17:35 +0000 (20:17 +0100)
src/xenapi/xenapi_utils.c

index 59edbf3188aab53fdb2dae43f094992de8c8eab5..697ad390dddd978566060f3f3014ad0d6c48bdfb 100644 (file)
@@ -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);