memset(&seclabel, 0, sizeof seclabel);
if (virDomainGetSecurityLabel(dom, &seclabel) == -1) {
virDomainFree(dom);
- remoteDispatchFormatError(rerr, "%s", _("unable to get security label"));
+ remoteDispatchConnError(rerr, conn);
return -1;
}
memset(&secmodel, 0, sizeof secmodel);
if (virNodeGetSecurityModel(conn, &secmodel) == -1) {
- remoteDispatchFormatError(rerr, "%s", _("unable to get security model"));
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (seclabel == NULL) {
virLibDomainError(domain, VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
+ goto error;
}
conn = domain->conn;
- if (conn->driver->domainGetSecurityLabel)
- return conn->driver->domainGetSecurityLabel(domain, seclabel);
+ if (conn->driver->domainGetSecurityLabel) {
+ int ret;
+ ret = conn->driver->domainGetSecurityLabel(domain, seclabel);
+ if (ret < 0)
+ goto error;
+ return ret;
+ }
+
+ virLibConnError (conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
- virLibConnWarning(conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
+error:
+ /* Copy to connection error object for back compatability */
+ virSetConnError(domain->conn);
return -1;
}
if (secmodel == NULL) {
virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
+ goto error;
+ }
+
+ if (conn->driver->nodeGetSecurityModel) {
+ int ret;
+ ret = conn->driver->nodeGetSecurityModel(conn, secmodel);
+ if (ret < 0)
+ goto error;
+ return ret;
}
- if (conn->driver->nodeGetSecurityModel)
- return conn->driver->nodeGetSecurityModel(conn, secmodel);
+ virLibConnError (conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
- virLibConnWarning(conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
+error:
+ /* Copy to connection error object for back compatability */
+ virSetConnError(conn);
return -1;
}