提交 6f5e6332 编写于 作者: M Matthias Bolte

phyp: Don't use VIR_ALLOC if a stack variable is good enough

上级 64a4c60e
...@@ -1131,29 +1131,21 @@ phypDomainLookupByName(virConnectPtr conn, const char *lpar_name) ...@@ -1131,29 +1131,21 @@ phypDomainLookupByName(virConnectPtr conn, const char *lpar_name)
virDomainPtr dom = NULL; virDomainPtr dom = NULL;
int lpar_id = 0; int lpar_id = 0;
char *managed_system = phyp_driver->managed_system; char *managed_system = phyp_driver->managed_system;
unsigned char *lpar_uuid = NULL; unsigned char lpar_uuid[VIR_UUID_BUFLEN];
if (VIR_ALLOC_N(lpar_uuid, VIR_UUID_BUFLEN) < 0)
virReportOOMError(dom->conn);
lpar_id = phypGetLparID(session, managed_system, lpar_name, conn); lpar_id = phypGetLparID(session, managed_system, lpar_name, conn);
if (lpar_id == -1) if (lpar_id == -1)
goto err; return NULL;
if (phypGetLparUUID(lpar_uuid, lpar_id, conn) == -1) if (phypGetLparUUID(lpar_uuid, lpar_id, conn) == -1)
goto err; return NULL;
dom = virGetDomain(conn, lpar_name, lpar_uuid); dom = virGetDomain(conn, lpar_name, lpar_uuid);
if (dom) if (dom)
dom->id = lpar_id; dom->id = lpar_id;
VIR_FREE(lpar_uuid);
return dom; return dom;
err:
VIR_FREE(lpar_uuid);
return NULL;
} }
static virDomainPtr static virDomainPtr
...@@ -1165,10 +1157,7 @@ phypDomainLookupByID(virConnectPtr conn, int lpar_id) ...@@ -1165,10 +1157,7 @@ phypDomainLookupByID(virConnectPtr conn, int lpar_id)
virDomainPtr dom = NULL; virDomainPtr dom = NULL;
char *managed_system = phyp_driver->managed_system; char *managed_system = phyp_driver->managed_system;
int exit_status = 0; int exit_status = 0;
unsigned char *lpar_uuid = NULL; unsigned char lpar_uuid[VIR_UUID_BUFLEN];
if (VIR_ALLOC_N(lpar_uuid, VIR_UUID_BUFLEN) < 0)
virReportOOMError(dom->conn);
char *lpar_name = phypGetLparNAME(session, managed_system, lpar_id, char *lpar_name = phypGetLparNAME(session, managed_system, lpar_id,
conn); conn);
...@@ -1185,12 +1174,10 @@ phypDomainLookupByID(virConnectPtr conn, int lpar_id) ...@@ -1185,12 +1174,10 @@ phypDomainLookupByID(virConnectPtr conn, int lpar_id)
dom->id = lpar_id; dom->id = lpar_id;
VIR_FREE(lpar_name); VIR_FREE(lpar_name);
VIR_FREE(lpar_uuid);
return dom; return dom;
err: err:
VIR_FREE(lpar_name); VIR_FREE(lpar_name);
VIR_FREE(lpar_uuid);
return NULL; return NULL;
} }
...@@ -1200,17 +1187,15 @@ phypDomainDumpXML(virDomainPtr dom, int flags) ...@@ -1200,17 +1187,15 @@ phypDomainDumpXML(virDomainPtr dom, int flags)
ConnectionData *connection_data = dom->conn->networkPrivateData; ConnectionData *connection_data = dom->conn->networkPrivateData;
phyp_driverPtr phyp_driver = dom->conn->privateData; phyp_driverPtr phyp_driver = dom->conn->privateData;
LIBSSH2_SESSION *session = connection_data->session; LIBSSH2_SESSION *session = connection_data->session;
virDomainDefPtr def = NULL; virDomainDef def;
char *ret = NULL;
char *managed_system = phyp_driver->managed_system; char *managed_system = phyp_driver->managed_system;
if (VIR_ALLOC(def) < 0) memset(&def, 0, sizeof(virDomainDef));
virReportOOMError(dom->conn);
def->virtType = VIR_DOMAIN_VIRT_PHYP; def.virtType = VIR_DOMAIN_VIRT_PHYP;
def->id = dom->id; def.id = dom->id;
char *lpar_name = phypGetLparNAME(session, managed_system, def->id, char *lpar_name = phypGetLparNAME(session, managed_system, def.id,
dom->conn); dom->conn);
if (lpar_name == NULL) { if (lpar_name == NULL) {
...@@ -1218,36 +1203,32 @@ phypDomainDumpXML(virDomainPtr dom, int flags) ...@@ -1218,36 +1203,32 @@ phypDomainDumpXML(virDomainPtr dom, int flags)
goto err; goto err;
} }
if (phypGetLparUUID(def->uuid, dom->id, dom->conn) == -1) { if (phypGetLparUUID(def.uuid, dom->id, dom->conn) == -1) {
VIR_ERROR("%s", "Unable to generate random uuid."); VIR_ERROR("%s", "Unable to generate random uuid.");
goto err; goto err;
} }
if ((def->maxmem = if ((def.maxmem =
phypGetLparMem(dom->conn, managed_system, dom->id, 0)) == 0) { phypGetLparMem(dom->conn, managed_system, dom->id, 0)) == 0) {
VIR_ERROR("%s", "Unable to determine domain's max memory."); VIR_ERROR("%s", "Unable to determine domain's max memory.");
goto err; goto err;
} }
if ((def->memory = if ((def.memory =
phypGetLparMem(dom->conn, managed_system, dom->id, 1)) == 0) { phypGetLparMem(dom->conn, managed_system, dom->id, 1)) == 0) {
VIR_ERROR("%s", "Unable to determine domain's memory."); VIR_ERROR("%s", "Unable to determine domain's memory.");
goto err; goto err;
} }
if ((def->vcpus = if ((def.vcpus =
phypGetLparCPU(dom->conn, managed_system, dom->id)) == 0) { phypGetLparCPU(dom->conn, managed_system, dom->id)) == 0) {
VIR_ERROR("%s", "Unable to determine domain's CPU."); VIR_ERROR("%s", "Unable to determine domain's CPU.");
goto err; goto err;
} }
ret = virDomainDefFormat(dom->conn, def, flags); return virDomainDefFormat(dom->conn, &def, flags);
virDomainDefFree(def);
return ret;
err: err:
virDomainDefFree(def);
return NULL; return NULL;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册