Add virBufferFreeAndReset() and replace free()
Replace free(virBufferContentAndReset()) with virBufferFreeAndReset(). Update documentation and replace all remaining calls to free() with calls to VIR_FREE(). Also add missing calls to virBufferFreeAndReset() and virReportOOMError() in OOM error cases.
This commit is contained in:
parent
723bfda1ce
commit
1b9d074493
5
HACKING
5
HACKING
@ -293,10 +293,11 @@ eg typical usage is as follows:
|
|||||||
...
|
...
|
||||||
virBufferAddLit(&buf, "</domain>\n");
|
virBufferAddLit(&buf, "</domain>\n");
|
||||||
|
|
||||||
....
|
...
|
||||||
|
|
||||||
if (virBufferError(&buf)) {
|
if (virBufferError(&buf)) {
|
||||||
__virRaiseError(...);
|
virBufferFreeAndReset(&buf);
|
||||||
|
virReportOOMError(...);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -582,7 +582,7 @@ static int qemudListenUnix(struct qemud_server *server,
|
|||||||
cleanup:
|
cleanup:
|
||||||
if (sock->fd)
|
if (sock->fd)
|
||||||
close(sock->fd);
|
close(sock->fd);
|
||||||
free(sock);
|
VIR_FREE(sock);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -803,8 +803,8 @@ static int qemudInitPaths(struct qemud_server *server,
|
|||||||
_("Resulting path too long for buffer in qemudInitPaths()"));
|
_("Resulting path too long for buffer in qemudInitPaths()"));
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
free (dir_prefix);
|
VIR_FREE(dir_prefix);
|
||||||
free (sock_dir_prefix);
|
VIR_FREE(sock_dir_prefix);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1452,8 +1452,7 @@ void qemudDispatchClientFailure(struct qemud_client *client) {
|
|||||||
sasl_dispose(&client->saslconn);
|
sasl_dispose(&client->saslconn);
|
||||||
client->saslconn = NULL;
|
client->saslconn = NULL;
|
||||||
}
|
}
|
||||||
free(client->saslUsername);
|
VIR_FREE(client->saslUsername);
|
||||||
client->saslUsername = NULL;
|
|
||||||
#endif
|
#endif
|
||||||
if (client->tlssession) {
|
if (client->tlssession) {
|
||||||
gnutls_deinit (client->tlssession);
|
gnutls_deinit (client->tlssession);
|
||||||
@ -2374,19 +2373,19 @@ static void qemudCleanup(struct qemud_server *server) {
|
|||||||
if (sock->watch)
|
if (sock->watch)
|
||||||
virEventRemoveHandleImpl(sock->watch);
|
virEventRemoveHandleImpl(sock->watch);
|
||||||
close(sock->fd);
|
close(sock->fd);
|
||||||
free(sock);
|
VIR_FREE(sock);
|
||||||
sock = next;
|
sock = next;
|
||||||
}
|
}
|
||||||
free(server->logDir);
|
VIR_FREE(server->logDir);
|
||||||
|
|
||||||
#ifdef HAVE_SASL
|
#ifdef HAVE_SASL
|
||||||
if (server->saslUsernameWhitelist) {
|
if (server->saslUsernameWhitelist) {
|
||||||
char **list = server->saslUsernameWhitelist;
|
char **list = server->saslUsernameWhitelist;
|
||||||
while (*list) {
|
while (*list) {
|
||||||
free(*list);
|
VIR_FREE(*list);
|
||||||
list++;
|
list++;
|
||||||
}
|
}
|
||||||
free(server->saslUsernameWhitelist);
|
VIR_FREE(server->saslUsernameWhitelist);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -2743,10 +2742,9 @@ remoteReadConfigFile (struct qemud_server *server, const char *filename)
|
|||||||
goto free_and_fail;
|
goto free_and_fail;
|
||||||
}
|
}
|
||||||
unix_sock_gid = grp->gr_gid;
|
unix_sock_gid = grp->gr_gid;
|
||||||
VIR_FREE (buf);
|
VIR_FREE(buf);
|
||||||
}
|
}
|
||||||
free (unix_sock_group);
|
VIR_FREE(unix_sock_group);
|
||||||
unix_sock_group = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GET_CONF_STR (conf, filename, unix_sock_ro_perms);
|
GET_CONF_STR (conf, filename, unix_sock_ro_perms);
|
||||||
@ -2755,8 +2753,7 @@ remoteReadConfigFile (struct qemud_server *server, const char *filename)
|
|||||||
VIR_ERROR(_("Failed to parse mode '%s'"), unix_sock_ro_perms);
|
VIR_ERROR(_("Failed to parse mode '%s'"), unix_sock_ro_perms);
|
||||||
goto free_and_fail;
|
goto free_and_fail;
|
||||||
}
|
}
|
||||||
free (unix_sock_ro_perms);
|
VIR_FREE(unix_sock_ro_perms);
|
||||||
unix_sock_ro_perms = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GET_CONF_STR (conf, filename, unix_sock_rw_perms);
|
GET_CONF_STR (conf, filename, unix_sock_rw_perms);
|
||||||
@ -2765,8 +2762,7 @@ remoteReadConfigFile (struct qemud_server *server, const char *filename)
|
|||||||
VIR_ERROR(_("Failed to parse mode '%s'"), unix_sock_rw_perms);
|
VIR_ERROR(_("Failed to parse mode '%s'"), unix_sock_rw_perms);
|
||||||
goto free_and_fail;
|
goto free_and_fail;
|
||||||
}
|
}
|
||||||
free (unix_sock_rw_perms);
|
VIR_FREE(unix_sock_rw_perms);
|
||||||
unix_sock_rw_perms = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GET_CONF_STR (conf, filename, unix_sock_dir);
|
GET_CONF_STR (conf, filename, unix_sock_dir);
|
||||||
@ -2801,12 +2797,11 @@ remoteReadConfigFile (struct qemud_server *server, const char *filename)
|
|||||||
|
|
||||||
free_and_fail:
|
free_and_fail:
|
||||||
virConfFree (conf);
|
virConfFree (conf);
|
||||||
free (mdns_name);
|
VIR_FREE(mdns_name);
|
||||||
mdns_name = NULL;
|
VIR_FREE(unix_sock_ro_perms);
|
||||||
free (unix_sock_ro_perms);
|
VIR_FREE(unix_sock_rw_perms);
|
||||||
free (unix_sock_rw_perms);
|
VIR_FREE(unix_sock_group);
|
||||||
free (unix_sock_group);
|
VIR_FREE(buf);
|
||||||
VIR_FREE (buf);
|
|
||||||
|
|
||||||
/* Don't bother trying to free listen_addr, tcp_port, tls_port, key_file,
|
/* Don't bother trying to free listen_addr, tcp_port, tls_port, key_file,
|
||||||
cert_file, ca_file, or crl_file, since they are initialized to
|
cert_file, ca_file, or crl_file, since they are initialized to
|
||||||
@ -2817,9 +2812,8 @@ remoteReadConfigFile (struct qemud_server *server, const char *filename)
|
|||||||
if (tls_allowed_dn_list) {
|
if (tls_allowed_dn_list) {
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; tls_allowed_dn_list[i]; i++)
|
for (i = 0; tls_allowed_dn_list[i]; i++)
|
||||||
free (tls_allowed_dn_list[i]);
|
VIR_FREE(tls_allowed_dn_list[i]);
|
||||||
free (tls_allowed_dn_list);
|
VIR_FREE(tls_allowed_dn_list);
|
||||||
tls_allowed_dn_list = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -306,14 +306,15 @@
|
|||||||
...
|
...
|
||||||
|
|
||||||
virBufferAddLit(&buf, "<domain>\n");
|
virBufferAddLit(&buf, "<domain>\n");
|
||||||
virBufferVSprint(&buf, " <memory>%d</memory>\n", memory);
|
virBufferVSprint(&buf, " <memory>%d</memory>\n", memory);
|
||||||
...
|
...
|
||||||
virBufferAddLit(&buf, "</domain>\n");
|
virBufferAddLit(&buf, "</domain>\n");
|
||||||
|
|
||||||
....
|
...
|
||||||
|
|
||||||
if (virBufferError(&buf)) {
|
if (virBufferError(&buf)) {
|
||||||
__virRaiseError(...);
|
virBufferFreeAndReset(&buf);
|
||||||
|
virReportOOMError(...);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -769,8 +769,10 @@ virCapabilitiesFormatXML(virCapsPtr caps)
|
|||||||
|
|
||||||
virBufferAddLit(&xml, "</capabilities>\n");
|
virBufferAddLit(&xml, "</capabilities>\n");
|
||||||
|
|
||||||
if (virBufferError(&xml))
|
if (virBufferError(&xml)) {
|
||||||
|
virBufferFreeAndReset(&xml);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
return virBufferContentAndReset(&xml);
|
return virBufferContentAndReset(&xml);
|
||||||
}
|
}
|
||||||
|
@ -3723,6 +3723,7 @@ virDomainCpuSetFormat(virConnectPtr conn, char *cpuset, int maxcpu)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (virBufferError(&buf)) {
|
if (virBufferError(&buf)) {
|
||||||
|
virBufferFreeAndReset(&buf);
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -4531,7 +4532,7 @@ char *virDomainDefFormat(virConnectPtr conn,
|
|||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
unsigned char *uuid;
|
unsigned char *uuid;
|
||||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||||
const char *type = NULL, *tmp;
|
const char *type = NULL;
|
||||||
int n, allones = 1;
|
int n, allones = 1;
|
||||||
|
|
||||||
if (!(type = virDomainVirtTypeToString(def->virtType))) {
|
if (!(type = virDomainVirtTypeToString(def->virtType))) {
|
||||||
@ -4787,8 +4788,7 @@ char *virDomainDefFormat(virConnectPtr conn,
|
|||||||
no_memory:
|
no_memory:
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
cleanup:
|
cleanup:
|
||||||
tmp = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(tmp);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4797,7 +4797,7 @@ char *virDomainObjFormat(virConnectPtr conn,
|
|||||||
virDomainObjPtr obj,
|
virDomainObjPtr obj,
|
||||||
int flags)
|
int flags)
|
||||||
{
|
{
|
||||||
char *config_xml = NULL, *xml = NULL;
|
char *config_xml = NULL;
|
||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
|
|
||||||
virBufferVSprintf(&buf, "<domstatus state='%s' pid='%d'>\n",
|
virBufferVSprintf(&buf, "<domstatus state='%s' pid='%d'>\n",
|
||||||
@ -4825,8 +4825,7 @@ char *virDomainObjFormat(virConnectPtr conn,
|
|||||||
no_memory:
|
no_memory:
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
error:
|
error:
|
||||||
xml = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(xml);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1208,7 +1208,7 @@ char *virInterfaceDefFormat(virConnectPtr conn,
|
|||||||
const virInterfaceDefPtr def)
|
const virInterfaceDefPtr def)
|
||||||
{
|
{
|
||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
const char *type = NULL, *tmp;
|
const char *type = NULL;
|
||||||
|
|
||||||
if ((def == NULL) ||
|
if ((def == NULL) ||
|
||||||
((def->name == NULL) && (def->type != VIR_INTERFACE_TYPE_VLAN))) {
|
((def->name == NULL) && (def->type != VIR_INTERFACE_TYPE_VLAN))) {
|
||||||
@ -1271,8 +1271,7 @@ char *virInterfaceDefFormat(virConnectPtr conn,
|
|||||||
no_memory:
|
no_memory:
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
cleanup:
|
cleanup:
|
||||||
tmp = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(tmp);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -642,7 +642,6 @@ char *virNetworkDefFormat(virConnectPtr conn,
|
|||||||
{
|
{
|
||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
unsigned char *uuid;
|
unsigned char *uuid;
|
||||||
char *tmp;
|
|
||||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||||
|
|
||||||
virBufferAddLit(&buf, "<network>\n");
|
virBufferAddLit(&buf, "<network>\n");
|
||||||
@ -731,8 +730,7 @@ char *virNetworkDefFormat(virConnectPtr conn,
|
|||||||
|
|
||||||
no_memory:
|
no_memory:
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
tmp = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(tmp);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -246,7 +246,6 @@ char *virNodeDeviceDefFormat(virConnectPtr conn,
|
|||||||
{
|
{
|
||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
virNodeDevCapsDefPtr caps;
|
virNodeDevCapsDefPtr caps;
|
||||||
char *tmp;
|
|
||||||
|
|
||||||
virBufferAddLit(&buf, "<device>\n");
|
virBufferAddLit(&buf, "<device>\n");
|
||||||
virBufferEscapeString(&buf, " <name>%s</name>\n", def->name);
|
virBufferEscapeString(&buf, " <name>%s</name>\n", def->name);
|
||||||
@ -464,8 +463,7 @@ char *virNodeDeviceDefFormat(virConnectPtr conn,
|
|||||||
|
|
||||||
no_memory:
|
no_memory:
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
tmp = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(tmp);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -303,7 +303,6 @@ virSecretDefFormat(virConnectPtr conn, const virSecretDefPtr def)
|
|||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
unsigned char *uuid;
|
unsigned char *uuid;
|
||||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||||
char *tmp;
|
|
||||||
|
|
||||||
virBufferVSprintf(&buf, "<secret ephemeral='%s' private='%s'>\n",
|
virBufferVSprintf(&buf, "<secret ephemeral='%s' private='%s'>\n",
|
||||||
def->ephemeral ? "yes" : "no",
|
def->ephemeral ? "yes" : "no",
|
||||||
@ -328,7 +327,6 @@ virSecretDefFormat(virConnectPtr conn, const virSecretDefPtr def)
|
|||||||
no_memory:
|
no_memory:
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
error:
|
error:
|
||||||
tmp = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(tmp);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -954,7 +954,7 @@ virStoragePoolDefFormat(virConnectPtr conn,
|
|||||||
no_memory:
|
no_memory:
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
cleanup:
|
cleanup:
|
||||||
free(virBufferContentAndReset(&buf));
|
virBufferFreeAndReset(&buf);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1292,7 +1292,6 @@ virStorageVolDefFormat(virConnectPtr conn,
|
|||||||
virStorageVolDefPtr def) {
|
virStorageVolDefPtr def) {
|
||||||
virStorageVolOptionsPtr options;
|
virStorageVolOptionsPtr options;
|
||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
char *tmp;
|
|
||||||
|
|
||||||
options = virStorageVolOptionsForPoolType(pool->type);
|
options = virStorageVolOptionsForPoolType(pool->type);
|
||||||
if (options == NULL)
|
if (options == NULL)
|
||||||
@ -1351,8 +1350,7 @@ virStorageVolDefFormat(virConnectPtr conn,
|
|||||||
no_memory:
|
no_memory:
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
cleanup:
|
cleanup:
|
||||||
tmp = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(tmp);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1742,7 +1740,7 @@ char *virStoragePoolSourceListFormat(virConnectPtr conn,
|
|||||||
no_memory:
|
no_memory:
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
cleanup:
|
cleanup:
|
||||||
free(virBufferContentAndReset(&buf));
|
virBufferFreeAndReset(&buf);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2293,6 +2293,7 @@ esxDomainDumpXML(virDomainPtr domain, int flags)
|
|||||||
return xml;
|
return xml;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
|
virBufferFreeAndReset(&buffer);
|
||||||
VIR_FREE(xml);
|
VIR_FREE(xml);
|
||||||
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -2723,6 +2724,8 @@ esxDomainDefineXML(virConnectPtr conn, const char *xml ATTRIBUTE_UNUSED)
|
|||||||
return domain;
|
return domain;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
|
virBufferFreeAndReset(&buffer);
|
||||||
|
|
||||||
domain = NULL;
|
domain = NULL;
|
||||||
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -532,7 +532,7 @@ esxVI_Context_DownloadFile(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
free(virBufferContentAndReset(&buffer));
|
virBufferFreeAndReset(&buffer);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -708,7 +708,7 @@ esxVI_Context_Execute(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
free(virBufferContentAndReset(&buffer));
|
virBufferFreeAndReset(&buffer);
|
||||||
esxVI_Response_Free(response);
|
esxVI_Response_Free(response);
|
||||||
esxVI_Fault_Free(&fault);
|
esxVI_Fault_Free(&fault);
|
||||||
|
|
||||||
@ -2065,7 +2065,7 @@ esxVI_StartSimpleVirtualMachineTask
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
free(virBufferContentAndReset(&buffer));
|
virBufferFreeAndReset(&buffer);
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -2124,9 +2124,7 @@ esxVI_SimpleVirtualMachineMethod(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
|
@ -158,9 +158,7 @@ esxVI_Login(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -214,9 +212,7 @@ esxVI_Logout(virConnectPtr conn, esxVI_Context *ctx)
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -283,9 +279,7 @@ esxVI_SessionIsActive(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -352,9 +346,7 @@ esxVI_RetrieveProperties(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -451,9 +443,7 @@ esxVI_MigrateVM_Task(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -509,9 +499,7 @@ esxVI_ReconfigVM_Task(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -579,9 +567,7 @@ esxVI_RegisterVM_Task(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -630,9 +616,7 @@ esxVI_UnregisterVM(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -702,9 +686,7 @@ esxVI_CreateFilter(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -758,9 +740,7 @@ esxVI_DestroyPropertyFilter(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -824,9 +804,7 @@ esxVI_WaitForUpdates(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -928,9 +906,7 @@ esxVI_ValidateMigration(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -1003,9 +979,7 @@ esxVI_FindByIp(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -1089,9 +1063,7 @@ esxVI_FindByUuid(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -1165,9 +1137,7 @@ esxVI_QueryAvailablePerfMetric(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -1232,9 +1202,7 @@ esxVI_QueryPerfCounter(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
@ -1299,9 +1267,7 @@ esxVI_QueryPerf(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (request == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
request = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = -1;
|
result = -1;
|
||||||
|
|
||||||
|
@ -2124,7 +2124,6 @@ esxVMX_FormatConfig(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
int sched_cpu_affinity_length;
|
int sched_cpu_affinity_length;
|
||||||
unsigned char zero[VIR_UUID_BUFLEN];
|
unsigned char zero[VIR_UUID_BUFLEN];
|
||||||
virBuffer buffer = VIR_BUFFER_INITIALIZER;
|
virBuffer buffer = VIR_BUFFER_INITIALIZER;
|
||||||
char *vmx = NULL;
|
|
||||||
|
|
||||||
memset(zero, 0, VIR_UUID_BUFLEN);
|
memset(zero, 0, VIR_UUID_BUFLEN);
|
||||||
|
|
||||||
@ -2347,16 +2346,10 @@ esxVMX_FormatConfig(virConnectPtr conn, esxVI_Context *ctx,
|
|||||||
goto failure;
|
goto failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
vmx = virBufferContentAndReset(&buffer);
|
return virBufferContentAndReset(&buffer);
|
||||||
|
|
||||||
return vmx;
|
|
||||||
|
|
||||||
failure:
|
failure:
|
||||||
if (vmx == NULL) {
|
virBufferFreeAndReset(&buffer);
|
||||||
vmx = virBufferContentAndReset(&buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
VIR_FREE(vmx);
|
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@ virBufferAddChar;
|
|||||||
virBufferContentAndReset;
|
virBufferContentAndReset;
|
||||||
virBufferError;
|
virBufferError;
|
||||||
virBufferURIEncodeString;
|
virBufferURIEncodeString;
|
||||||
|
virBufferFreeAndReset;
|
||||||
|
|
||||||
|
|
||||||
# caps.h
|
# caps.h
|
||||||
|
@ -323,6 +323,7 @@ static int udevGenerateDeviceName(struct udev_device *device,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (virBufferError(&buf)) {
|
if (virBufferError(&buf)) {
|
||||||
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_ERROR("Buffer error when generating device name for device "
|
VIR_ERROR("Buffer error when generating device name for device "
|
||||||
"with sysname '%s'\n", udev_device_get_sysname(device));
|
"with sysname '%s'\n", udev_device_get_sysname(device));
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include "one_client.h"
|
#include "one_client.h"
|
||||||
#include "datatypes.h"
|
#include "datatypes.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
#include "memory.h"
|
||||||
|
|
||||||
oneClient one_client;
|
oneClient one_client;
|
||||||
|
|
||||||
@ -54,12 +55,12 @@ int c_oneReturnCode(xmlrpc_value *resultP)
|
|||||||
if( return_code )
|
if( return_code )
|
||||||
{
|
{
|
||||||
xmlrpc_DECREF(resultP);
|
xmlrpc_DECREF(resultP);
|
||||||
free(return_string);
|
VIR_FREE(return_string);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
free(one_client.error);
|
VIR_FREE(one_client.error);
|
||||||
|
|
||||||
one_client.error=return_string;
|
one_client.error=return_string;
|
||||||
return -1;
|
return -1;
|
||||||
@ -125,7 +126,7 @@ int c_oneAllocateTemplate(char* vm_template)
|
|||||||
xmlrpc_DECREF(valueP);
|
xmlrpc_DECREF(valueP);
|
||||||
xmlrpc_DECREF(resultP);
|
xmlrpc_DECREF(resultP);
|
||||||
|
|
||||||
free(one_client.error);
|
VIR_FREE(one_client.error);
|
||||||
|
|
||||||
one_client.error=return_string;
|
one_client.error=return_string;
|
||||||
return -1;
|
return -1;
|
||||||
@ -194,7 +195,7 @@ int c_oneVmInfo(int vmid, char* ret_info, int length)
|
|||||||
}
|
}
|
||||||
|
|
||||||
xmlrpc_DECREF(resultP);
|
xmlrpc_DECREF(resultP);
|
||||||
free(return_string);
|
VIR_FREE(return_string);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
@ -278,7 +278,6 @@ char* xmlOneTemplate(virConnectPtr conn,virDomainDefPtr def)
|
|||||||
|
|
||||||
no_memory:
|
no_memory:
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
char* tmp = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(tmp);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
};
|
};
|
||||||
|
@ -345,10 +345,12 @@ openvz_replace(const char* str,
|
|||||||
str_start = offset + from_len;
|
str_start = offset + from_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
virBufferAdd(&buf, str_start, strlen(str_start));
|
virBufferAdd(&buf, str_start, -1);
|
||||||
|
|
||||||
if(virBufferError(&buf))
|
if (virBufferError(&buf)) {
|
||||||
return NULL;
|
virBufferFreeAndReset(&buf);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
return virBufferContentAndReset(&buf);
|
return virBufferContentAndReset(&buf);
|
||||||
}
|
}
|
||||||
|
@ -792,8 +792,7 @@ openvzDomainSetNetworkConfig(virConnectPtr conn,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
param = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(param);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -486,13 +486,12 @@ phypExec(LIBSSH2_SESSION * session, char *cmd, int *exit_status,
|
|||||||
|
|
||||||
err:
|
err:
|
||||||
(*exit_status) = SSH_CMD_ERR;
|
(*exit_status) = SSH_CMD_ERR;
|
||||||
char *cleanup_buf = virBufferContentAndReset(&tex_ret);
|
virBufferFreeAndReset(&tex_ret);
|
||||||
|
|
||||||
VIR_FREE(cleanup_buf);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
if (virBufferError(&tex_ret)) {
|
if (virBufferError(&tex_ret)) {
|
||||||
|
virBufferFreeAndReset(&tex_ret);
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -1379,6 +1379,7 @@ qemuBuildHostNetStr(virConnectPtr conn,
|
|||||||
type_sep = ','; /* dead-store, but leave it, in case... */
|
type_sep = ','; /* dead-store, but leave it, in case... */
|
||||||
}
|
}
|
||||||
if (virBufferError(&buf)) {
|
if (virBufferError(&buf)) {
|
||||||
|
virBufferFreeAndReset(&buf);
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -1866,8 +1867,10 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
virBufferAddLit(&buf, "control,");
|
virBufferAddLit(&buf, "control,");
|
||||||
|
|
||||||
qemudBuildCommandLineChrDevStr(monitor_chr, &buf);
|
qemudBuildCommandLineChrDevStr(monitor_chr, &buf);
|
||||||
if (virBufferError(&buf))
|
if (virBufferError(&buf)) {
|
||||||
goto error;
|
virBufferFreeAndReset(&buf);
|
||||||
|
goto no_memory;
|
||||||
|
}
|
||||||
|
|
||||||
ADD_ARG_LIT("-monitor");
|
ADD_ARG_LIT("-monitor");
|
||||||
ADD_ARG(virBufferContentAndReset(&buf));
|
ADD_ARG(virBufferContentAndReset(&buf));
|
||||||
@ -2054,8 +2057,8 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (virBufferError(&opt)) {
|
if (virBufferError(&opt)) {
|
||||||
virReportOOMError(conn);
|
virBufferFreeAndReset(&opt);
|
||||||
goto error;
|
goto no_memory;
|
||||||
}
|
}
|
||||||
|
|
||||||
optstr = virBufferContentAndReset(&opt);
|
optstr = virBufferContentAndReset(&opt);
|
||||||
@ -2197,8 +2200,10 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
virDomainChrDefPtr serial = def->serials[i];
|
virDomainChrDefPtr serial = def->serials[i];
|
||||||
|
|
||||||
qemudBuildCommandLineChrDevStr(serial, &buf);
|
qemudBuildCommandLineChrDevStr(serial, &buf);
|
||||||
if (virBufferError(&buf))
|
if (virBufferError(&buf)) {
|
||||||
goto error;
|
virBufferFreeAndReset(&buf);
|
||||||
|
goto no_memory;
|
||||||
|
}
|
||||||
|
|
||||||
ADD_ARG_LIT("-serial");
|
ADD_ARG_LIT("-serial");
|
||||||
ADD_ARG(virBufferContentAndReset(&buf));
|
ADD_ARG(virBufferContentAndReset(&buf));
|
||||||
@ -2214,8 +2219,10 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
virDomainChrDefPtr parallel = def->parallels[i];
|
virDomainChrDefPtr parallel = def->parallels[i];
|
||||||
|
|
||||||
qemudBuildCommandLineChrDevStr(parallel, &buf);
|
qemudBuildCommandLineChrDevStr(parallel, &buf);
|
||||||
if (virBufferError(&buf))
|
if (virBufferError(&buf)) {
|
||||||
goto error;
|
virBufferFreeAndReset(&buf);
|
||||||
|
goto no_memory;
|
||||||
|
}
|
||||||
|
|
||||||
ADD_ARG_LIT("-parallel");
|
ADD_ARG_LIT("-parallel");
|
||||||
ADD_ARG(virBufferContentAndReset(&buf));
|
ADD_ARG(virBufferContentAndReset(&buf));
|
||||||
@ -2240,8 +2247,10 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
qemudBuildCommandLineChrDevChardevStr(channel, id, &buf);
|
qemudBuildCommandLineChrDevChardevStr(channel, id, &buf);
|
||||||
if (virBufferError(&buf))
|
if (virBufferError(&buf)) {
|
||||||
goto error;
|
virBufferFreeAndReset(&buf);
|
||||||
|
goto no_memory;
|
||||||
|
}
|
||||||
|
|
||||||
ADD_ARG_LIT("-chardev");
|
ADD_ARG_LIT("-chardev");
|
||||||
ADD_ARG(virBufferContentAndReset(&buf));
|
ADD_ARG(virBufferContentAndReset(&buf));
|
||||||
@ -2254,8 +2263,10 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
|
|
||||||
VIR_FREE(addr);
|
VIR_FREE(addr);
|
||||||
|
|
||||||
if (virBufferError(&buf))
|
if (virBufferError(&buf)) {
|
||||||
goto error;
|
virBufferFreeAndReset(&buf);
|
||||||
|
goto no_memory;
|
||||||
|
}
|
||||||
|
|
||||||
ADD_ARG_LIT("-net");
|
ADD_ARG_LIT("-net");
|
||||||
ADD_ARG(virBufferContentAndReset(&buf));
|
ADD_ARG(virBufferContentAndReset(&buf));
|
||||||
@ -2313,8 +2324,10 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
virBufferVSprintf(&opt, "%d",
|
virBufferVSprintf(&opt, "%d",
|
||||||
def->graphics[0]->data.vnc.port - 5900);
|
def->graphics[0]->data.vnc.port - 5900);
|
||||||
}
|
}
|
||||||
if (virBufferError(&opt))
|
if (virBufferError(&opt)) {
|
||||||
|
virBufferFreeAndReset(&opt);
|
||||||
goto no_memory;
|
goto no_memory;
|
||||||
|
}
|
||||||
|
|
||||||
optstr = virBufferContentAndReset(&opt);
|
optstr = virBufferContentAndReset(&opt);
|
||||||
|
|
||||||
|
@ -4491,8 +4491,11 @@ static char *qemuDomainXMLToNative(virConnectPtr conn,
|
|||||||
tmp++;
|
tmp++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virBufferError(&buf))
|
if (virBufferError(&buf)) {
|
||||||
|
virBufferFreeAndReset(&buf);
|
||||||
|
virReportOOMError(conn);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
ret = virBufferContentAndReset(&buf);
|
ret = virBufferContentAndReset(&buf);
|
||||||
|
|
||||||
|
@ -1424,10 +1424,10 @@ retry:
|
|||||||
|
|
||||||
|
|
||||||
/* Free hostname copy */
|
/* Free hostname copy */
|
||||||
free (priv->hostname);
|
VIR_FREE(priv->hostname);
|
||||||
|
|
||||||
/* See comment for remoteType. */
|
/* See comment for remoteType. */
|
||||||
free (priv->type);
|
VIR_FREE(priv->type);
|
||||||
|
|
||||||
/* Free callback list */
|
/* Free callback list */
|
||||||
virDomainEventCallbackListFree(priv->callbackList);
|
virDomainEventCallbackListFree(priv->callbackList);
|
||||||
@ -3411,7 +3411,7 @@ remoteDomainBlockPeek (virDomainPtr domain,
|
|||||||
rv = 0;
|
rv = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
free (ret.buffer.buffer_val);
|
VIR_FREE(ret.buffer.buffer_val);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
remoteDriverUnlock(priv);
|
remoteDriverUnlock(priv);
|
||||||
@ -3462,7 +3462,7 @@ remoteDomainMemoryPeek (virDomainPtr domain,
|
|||||||
rv = 0;
|
rv = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
free (ret.buffer.buffer_val);
|
VIR_FREE(ret.buffer.buffer_val);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
remoteDriverUnlock(priv);
|
remoteDriverUnlock(priv);
|
||||||
|
@ -77,8 +77,8 @@ mcsRemove(const char *mcs)
|
|||||||
else {
|
else {
|
||||||
mcsList = ptr->next;
|
mcsList = ptr->next;
|
||||||
}
|
}
|
||||||
free(ptr->mcs);
|
VIR_FREE(ptr->mcs);
|
||||||
free(ptr);
|
VIR_FREE(ptr);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
prevptr = ptr;
|
prevptr = ptr;
|
||||||
@ -293,7 +293,7 @@ SELinuxGetSecurityLabel(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
strcpy(sec->label, (char *) ctx);
|
strcpy(sec->label, (char *) ctx);
|
||||||
free(ctx);
|
VIR_FREE(ctx);
|
||||||
|
|
||||||
sec->enforcing = security_getenforce();
|
sec->enforcing = security_getenforce();
|
||||||
if (sec->enforcing == -1) {
|
if (sec->enforcing == -1) {
|
||||||
|
@ -64,10 +64,10 @@ vahDeinit(vahControl * ctl)
|
|||||||
VIR_FREE(ctl->def);
|
VIR_FREE(ctl->def);
|
||||||
if (ctl->caps)
|
if (ctl->caps)
|
||||||
virCapabilitiesFree(ctl->caps);
|
virCapabilitiesFree(ctl->caps);
|
||||||
free(ctl->files);
|
VIR_FREE(ctl->files);
|
||||||
free(ctl->hvm);
|
VIR_FREE(ctl->hvm);
|
||||||
free(ctl->arch);
|
VIR_FREE(ctl->arch);
|
||||||
free(ctl->newdisk);
|
VIR_FREE(ctl->newdisk);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -761,7 +761,7 @@ vah_add_file(virBufferPtr buf, const char *path, const char *perms)
|
|||||||
}
|
}
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
free(tmp);
|
VIR_FREE(tmp);
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
@ -883,8 +883,9 @@ get_files(vahControl * ctl)
|
|||||||
goto clean;
|
goto clean;
|
||||||
|
|
||||||
if (virBufferError(&buf)) {
|
if (virBufferError(&buf)) {
|
||||||
vah_error(NULL, 0, "failed to allocate file buffer");
|
virBufferFreeAndReset(&buf);
|
||||||
goto clean;
|
vah_error(NULL, 0, "failed to allocate file buffer");
|
||||||
|
goto clean;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = 0;
|
rc = 0;
|
||||||
@ -1048,8 +1049,10 @@ main(int argc, char **argv)
|
|||||||
if (ctl->files)
|
if (ctl->files)
|
||||||
virBufferVSprintf(&buf, "%s", ctl->files);
|
virBufferVSprintf(&buf, "%s", ctl->files);
|
||||||
|
|
||||||
if (virBufferError(&buf))
|
if (virBufferError(&buf)) {
|
||||||
|
virBufferFreeAndReset(&buf);
|
||||||
vah_error(ctl, 1, "failed to allocate buffer");
|
vah_error(ctl, 1, "failed to allocate buffer");
|
||||||
|
}
|
||||||
|
|
||||||
included_files = virBufferContentAndReset(&buf);
|
included_files = virBufferContentAndReset(&buf);
|
||||||
|
|
||||||
|
@ -445,8 +445,7 @@ cleanup:
|
|||||||
conn->secretDriver->undefine(secret);
|
conn->secretDriver->undefine(secret);
|
||||||
virSecretFree(secret);
|
virSecretFree(secret);
|
||||||
}
|
}
|
||||||
xml = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(xml);
|
|
||||||
virSecretDefFree(def);
|
virSecretDefFree(def);
|
||||||
VIR_FREE(enc_secret);
|
VIR_FREE(enc_secret);
|
||||||
return ret;
|
return ret;
|
||||||
@ -1317,8 +1316,7 @@ virStorageBackendRunProgNul(virConnectPtr conn,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
n_tok = 0;
|
n_tok = 0;
|
||||||
for (i = 0; i < n_columns; i++) {
|
for (i = 0; i < n_columns; i++) {
|
||||||
free (v[i]);
|
VIR_FREE(v[i]);
|
||||||
v[i] = NULL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1331,8 +1329,8 @@ virStorageBackendRunProgNul(virConnectPtr conn,
|
|||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
for (i = 0; i < n_columns; i++)
|
for (i = 0; i < n_columns; i++)
|
||||||
free (v[i]);
|
VIR_FREE(v[i]);
|
||||||
free (v);
|
VIR_FREE(v);
|
||||||
|
|
||||||
if (fp)
|
if (fp)
|
||||||
fclose (fp);
|
fclose (fp);
|
||||||
|
@ -422,8 +422,7 @@ storageListDefinedPools(virConnectPtr conn,
|
|||||||
cleanup:
|
cleanup:
|
||||||
storageDriverUnlock(driver);
|
storageDriverUnlock(driver);
|
||||||
for (i = 0 ; i < got ; i++) {
|
for (i = 0 ; i < got ; i++) {
|
||||||
free(names[i]);
|
VIR_FREE(names[i]);
|
||||||
names[i] = NULL;
|
|
||||||
}
|
}
|
||||||
memset(names, 0, nnames * sizeof(*names));
|
memset(names, 0, nnames * sizeof(*names));
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -163,7 +163,6 @@ umlBuildCommandLineNet(virConnectPtr conn,
|
|||||||
virDomainNetDefPtr def,
|
virDomainNetDefPtr def,
|
||||||
int idx)
|
int idx)
|
||||||
{
|
{
|
||||||
char *ret;
|
|
||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
|
|
||||||
/* General format: ethNN=type,options */
|
/* General format: ethNN=type,options */
|
||||||
@ -265,8 +264,7 @@ umlBuildCommandLineNet(virConnectPtr conn,
|
|||||||
return virBufferContentAndReset(&buf);
|
return virBufferContentAndReset(&buf);
|
||||||
|
|
||||||
error:
|
error:
|
||||||
ret = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(ret);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,6 +166,19 @@ virBufferContentAndReset(const virBufferPtr buf)
|
|||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* virBufferFreeAndReset:
|
||||||
|
* @buf: the buffer to free and reset
|
||||||
|
*
|
||||||
|
* Frees the buffer content and resets the buffer structure.
|
||||||
|
*/
|
||||||
|
void virBufferFreeAndReset(const virBufferPtr buf)
|
||||||
|
{
|
||||||
|
char *str = virBufferContentAndReset(buf);
|
||||||
|
|
||||||
|
VIR_FREE(str);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* virBufferError:
|
* virBufferError:
|
||||||
* @buf: the buffer
|
* @buf: the buffer
|
||||||
|
@ -35,6 +35,7 @@ struct _virBuffer {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
char *virBufferContentAndReset(const virBufferPtr buf);
|
char *virBufferContentAndReset(const virBufferPtr buf);
|
||||||
|
void virBufferFreeAndReset(const virBufferPtr buf);
|
||||||
int virBufferError(const virBufferPtr buf);
|
int virBufferError(const virBufferPtr buf);
|
||||||
unsigned int virBufferUse(const virBufferPtr buf);
|
unsigned int virBufferUse(const virBufferPtr buf);
|
||||||
void virBufferAdd(const virBufferPtr buf, const char *str, int len);
|
void virBufferAdd(const virBufferPtr buf, const char *str, int len);
|
||||||
|
@ -927,15 +927,15 @@ virConfWriteFile(const char *filename, virConfPtr conf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (virBufferError(&buf)) {
|
if (virBufferError(&buf)) {
|
||||||
|
virBufferFreeAndReset(&buf);
|
||||||
virReportOOMError(NULL);
|
virReportOOMError(NULL);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR );
|
fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR );
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
char *tmp = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
virConfError(NULL, VIR_ERR_WRITE_FAILED, _("failed to open file"));
|
virConfError(NULL, VIR_ERR_WRITE_FAILED, _("failed to open file"));
|
||||||
VIR_FREE(tmp);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -983,6 +983,7 @@ virConfWriteMem(char *memory, int *len, virConfPtr conf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (virBufferError(&buf)) {
|
if (virBufferError(&buf)) {
|
||||||
|
virBufferFreeAndReset(&buf);
|
||||||
virReportOOMError(NULL);
|
virReportOOMError(NULL);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -867,8 +867,10 @@ char *virLogGetFilters(void) {
|
|||||||
}
|
}
|
||||||
virLogUnlock();
|
virLogUnlock();
|
||||||
|
|
||||||
if (virBufferError(&filterbuf))
|
if (virBufferError(&filterbuf)) {
|
||||||
|
virBufferFreeAndReset(&filterbuf);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
return virBufferContentAndReset(&filterbuf);
|
return virBufferContentAndReset(&filterbuf);
|
||||||
}
|
}
|
||||||
@ -905,8 +907,10 @@ char *virLogGetOutputs(void) {
|
|||||||
}
|
}
|
||||||
virLogUnlock();
|
virLogUnlock();
|
||||||
|
|
||||||
if (virBufferError(&outputbuf))
|
if (virBufferError(&outputbuf)) {
|
||||||
|
virBufferFreeAndReset(&outputbuf);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
return virBufferContentAndReset(&outputbuf);
|
return virBufferContentAndReset(&outputbuf);
|
||||||
}
|
}
|
||||||
|
@ -154,6 +154,7 @@ qparam_get_query (const struct qparam_set *ps)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (virBufferError(&buf)) {
|
if (virBufferError(&buf)) {
|
||||||
|
virBufferFreeAndReset(&buf);
|
||||||
virReportOOMError(NULL);
|
virReportOOMError(NULL);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -936,7 +936,7 @@ saferead_lim (int fd, size_t max_len, size_t *length)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
free (buf);
|
VIR_FREE(buf);
|
||||||
errno = save_errno;
|
errno = save_errno;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -345,10 +345,10 @@ virResetError(virErrorPtr err)
|
|||||||
{
|
{
|
||||||
if (err == NULL)
|
if (err == NULL)
|
||||||
return;
|
return;
|
||||||
free(err->message);
|
VIR_FREE(err->message);
|
||||||
free(err->str1);
|
VIR_FREE(err->str1);
|
||||||
free(err->str2);
|
VIR_FREE(err->str2);
|
||||||
free(err->str3);
|
VIR_FREE(err->str3);
|
||||||
memset(err, 0, sizeof(virError));
|
memset(err, 0, sizeof(virError));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,12 +156,12 @@ check_bd_connected (xenUnifiedPrivatePtr priv, int device, int domid)
|
|||||||
* string instead of an error. Assume it's not connected
|
* string instead of an error. Assume it's not connected
|
||||||
* in this case.
|
* in this case.
|
||||||
*/
|
*/
|
||||||
free (rs);
|
VIR_FREE(rs);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = STREQ (rs, "4");
|
r = STREQ (rs, "4");
|
||||||
free (rs);
|
VIR_FREE(rs);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -525,6 +525,7 @@ xend_op_ext(virConnectPtr xend, const char *path, char *error,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (virBufferError(&buf)) {
|
if (virBufferError(&buf)) {
|
||||||
|
virBufferFreeAndReset(&buf);
|
||||||
virReportOOMError(NULL);
|
virReportOOMError(NULL);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -5293,8 +5294,10 @@ xenDaemonFormatSxprChr(virConnectPtr conn,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virBufferError(buf))
|
if (virBufferError(buf)) {
|
||||||
|
virReportOOMError(conn);
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -5634,8 +5637,10 @@ xenDaemonFormatSxprSound(virConnectPtr conn,
|
|||||||
virBufferVSprintf(buf, "%s%s", i ? "," : "", str);
|
virBufferVSprintf(buf, "%s%s", i ? "," : "", str);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virBufferError(buf))
|
if (virBufferError(buf)) {
|
||||||
|
virReportOOMError(conn);
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -5910,14 +5915,13 @@ xenDaemonFormatSxpr(virConnectPtr conn,
|
|||||||
|
|
||||||
if (virBufferError(&buf)) {
|
if (virBufferError(&buf)) {
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
return NULL;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
return virBufferContentAndReset(&buf);
|
return virBufferContentAndReset(&buf);
|
||||||
|
|
||||||
error:
|
error:
|
||||||
tmp = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(tmp);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5964,7 +5968,7 @@ virDomainXMLDevID(virDomainPtr domain,
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
tmp = virStrcpy(ref, xref, ref_len);
|
tmp = virStrcpy(ref, xref, ref_len);
|
||||||
free(xref);
|
VIR_FREE(xref);
|
||||||
if (tmp == NULL)
|
if (tmp == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
} else if (dev->type == VIR_DOMAIN_DEVICE_NET) {
|
} else if (dev->type == VIR_DOMAIN_DEVICE_NET) {
|
||||||
@ -5984,7 +5988,7 @@ virDomainXMLDevID(virDomainPtr domain,
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
tmp = virStrcpy(ref, xref, ref_len);
|
tmp = virStrcpy(ref, xref, ref_len);
|
||||||
free(xref);
|
VIR_FREE(xref);
|
||||||
if (tmp == NULL)
|
if (tmp == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
} else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV &&
|
} else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV &&
|
||||||
|
@ -1750,6 +1750,7 @@ int xenXMDomainPinVcpu(virDomainPtr domain,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (virBufferError(&mapbuf)) {
|
if (virBufferError(&mapbuf)) {
|
||||||
|
virBufferFreeAndReset(&mapbuf);
|
||||||
virReportOOMError(domain->conn);
|
virReportOOMError(domain->conn);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -1980,7 +1981,6 @@ static int xenXMDomainConfigFormatDisk(virConnectPtr conn,
|
|||||||
{
|
{
|
||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
virConfValuePtr val, tmp;
|
virConfValuePtr val, tmp;
|
||||||
char *str;
|
|
||||||
|
|
||||||
if(disk->src) {
|
if(disk->src) {
|
||||||
if (disk->driverName) {
|
if (disk->driverName) {
|
||||||
@ -2021,7 +2021,7 @@ static int xenXMDomainConfigFormatDisk(virConnectPtr conn,
|
|||||||
|
|
||||||
if (virBufferError(&buf)) {
|
if (virBufferError(&buf)) {
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
return -1;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (VIR_ALLOC(val) < 0) {
|
if (VIR_ALLOC(val) < 0) {
|
||||||
@ -2042,8 +2042,7 @@ static int xenXMDomainConfigFormatDisk(virConnectPtr conn,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
str = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(str);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2054,7 +2053,6 @@ static int xenXMDomainConfigFormatNet(virConnectPtr conn,
|
|||||||
{
|
{
|
||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
virConfValuePtr val, tmp;
|
virConfValuePtr val, tmp;
|
||||||
char *str;
|
|
||||||
xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
|
xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
|
||||||
|
|
||||||
virBufferVSprintf(&buf, "mac=%02x:%02x:%02x:%02x:%02x:%02x",
|
virBufferVSprintf(&buf, "mac=%02x:%02x:%02x:%02x:%02x:%02x",
|
||||||
@ -2131,8 +2129,10 @@ static int xenXMDomainConfigFormatNet(virConnectPtr conn,
|
|||||||
virBufferVSprintf(&buf, ",vifname=%s",
|
virBufferVSprintf(&buf, ",vifname=%s",
|
||||||
net->ifname);
|
net->ifname);
|
||||||
|
|
||||||
if (virBufferError(&buf))
|
if (virBufferError(&buf)) {
|
||||||
|
virReportOOMError(conn);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
if (VIR_ALLOC(val) < 0) {
|
if (VIR_ALLOC(val) < 0) {
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
@ -2152,8 +2152,7 @@ static int xenXMDomainConfigFormatNet(virConnectPtr conn,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
str = virBufferContentAndReset(&buf);
|
virBufferFreeAndReset(&buf);
|
||||||
VIR_FREE(str);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2482,8 +2481,10 @@ virConfPtr xenXMDomainConfigFormat(virConnectPtr conn,
|
|||||||
virBufferVSprintf(&buf, ",keymap=%s",
|
virBufferVSprintf(&buf, ",keymap=%s",
|
||||||
def->graphics[0]->data.vnc.keymap);
|
def->graphics[0]->data.vnc.keymap);
|
||||||
}
|
}
|
||||||
if (virBufferError(&buf))
|
if (virBufferError(&buf)) {
|
||||||
|
virBufferFreeAndReset(&buf);
|
||||||
goto no_memory;
|
goto no_memory;
|
||||||
|
}
|
||||||
|
|
||||||
vfbstr = virBufferContentAndReset(&buf);
|
vfbstr = virBufferContentAndReset(&buf);
|
||||||
|
|
||||||
|
@ -434,7 +434,7 @@ xenStoreGetDomainInfo(virDomainPtr domain, virDomainInfoPtr info)
|
|||||||
if (tmp != NULL) {
|
if (tmp != NULL) {
|
||||||
if (tmp[0] == '1')
|
if (tmp[0] == '1')
|
||||||
info->state = VIR_DOMAIN_RUNNING;
|
info->state = VIR_DOMAIN_RUNNING;
|
||||||
free(tmp);
|
VIR_FREE(tmp);
|
||||||
} else {
|
} else {
|
||||||
info->state = VIR_DOMAIN_NOSTATE;
|
info->state = VIR_DOMAIN_NOSTATE;
|
||||||
}
|
}
|
||||||
@ -442,7 +442,7 @@ xenStoreGetDomainInfo(virDomainPtr domain, virDomainInfoPtr info)
|
|||||||
if (tmp != NULL) {
|
if (tmp != NULL) {
|
||||||
info->memory = atol(tmp);
|
info->memory = atol(tmp);
|
||||||
info->maxMem = atol(tmp);
|
info->maxMem = atol(tmp);
|
||||||
free(tmp);
|
VIR_FREE(tmp);
|
||||||
} else {
|
} else {
|
||||||
info->memory = 0;
|
info->memory = 0;
|
||||||
info->maxMem = 0;
|
info->maxMem = 0;
|
||||||
@ -452,7 +452,7 @@ xenStoreGetDomainInfo(virDomainPtr domain, virDomainInfoPtr info)
|
|||||||
tmp = virDomainDoStoreQuery(domain->conn, domain->id, "cpu_time");
|
tmp = virDomainDoStoreQuery(domain->conn, domain->id, "cpu_time");
|
||||||
if (tmp != NULL) {
|
if (tmp != NULL) {
|
||||||
info->cpuTime = atol(tmp);
|
info->cpuTime = atol(tmp);
|
||||||
free(tmp);
|
VIR_FREE(tmp);
|
||||||
} else {
|
} else {
|
||||||
info->cpuTime = 0;
|
info->cpuTime = 0;
|
||||||
}
|
}
|
||||||
@ -462,7 +462,7 @@ xenStoreGetDomainInfo(virDomainPtr domain, virDomainInfoPtr info)
|
|||||||
tmp2 = virConnectDoStoreList(domain->conn, request, &nb_vcpus);
|
tmp2 = virConnectDoStoreList(domain->conn, request, &nb_vcpus);
|
||||||
if (tmp2 != NULL) {
|
if (tmp2 != NULL) {
|
||||||
info->nrVirtCpu = nb_vcpus;
|
info->nrVirtCpu = nb_vcpus;
|
||||||
free(tmp2);
|
VIR_FREE(tmp2);
|
||||||
}
|
}
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
@ -698,7 +698,7 @@ xenStoreLookupByName(virConnectPtr conn, const char *name)
|
|||||||
tmp = xs_read(priv->xshandle, 0, prop, &len);
|
tmp = xs_read(priv->xshandle, 0, prop, &len);
|
||||||
if (tmp != NULL) {
|
if (tmp != NULL) {
|
||||||
found = STREQ (name, tmp);
|
found = STREQ (name, tmp);
|
||||||
free(tmp);
|
VIR_FREE(tmp);
|
||||||
if (found)
|
if (found)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -713,8 +713,8 @@ xenStoreLookupByName(virConnectPtr conn, const char *name)
|
|||||||
ret->id = id;
|
ret->id = id;
|
||||||
|
|
||||||
done:
|
done:
|
||||||
free(xenddomain);
|
VIR_FREE(xenddomain);
|
||||||
free(idlist);
|
VIR_FREE(idlist);
|
||||||
|
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
@ -843,7 +843,7 @@ int xenStoreDomainGetVNCPort(virConnectPtr conn, int domid) {
|
|||||||
ret = strtol(tmp, &end, 10);
|
ret = strtol(tmp, &end, 10);
|
||||||
if (ret == 0 && end == tmp)
|
if (ret == 0 && end == tmp)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
free(tmp);
|
VIR_FREE(tmp);
|
||||||
}
|
}
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
@ -903,7 +903,7 @@ xenStoreDomainGetOSTypeID(virConnectPtr conn, int id) {
|
|||||||
if (vm) {
|
if (vm) {
|
||||||
snprintf(query, 199, "%s/image/ostype", vm);
|
snprintf(query, 199, "%s/image/ostype", vm);
|
||||||
str = xs_read(priv->xshandle, 0, &query[0], &len);
|
str = xs_read(priv->xshandle, 0, &query[0], &len);
|
||||||
free(vm);
|
VIR_FREE(vm);
|
||||||
}
|
}
|
||||||
if (str == NULL)
|
if (str == NULL)
|
||||||
str = strdup("linux");
|
str = strdup("linux");
|
||||||
|
@ -3800,7 +3800,7 @@ static int buildPoolXML(const vshCmd *cmd, char **retname, char **xml) {
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
free(virBufferContentAndReset(&buf));
|
virBufferFreeAndReset(&buf);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4663,7 +4663,7 @@ cmdVolCreateAs(vshControl *ctl, const vshCmd *cmd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
free(virBufferContentAndReset(&buf));
|
virBufferFreeAndReset(&buf);
|
||||||
virStoragePoolFree(pool);
|
virStoragePoolFree(pool);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user