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.
...
virBufferAddLit(&buf, "</domain>\n");
- ....
+ ...
if (virBufferError(&buf)) {
- __virRaiseError(...);
+ virBufferFreeAndReset(&buf);
+ virReportOOMError(...);
return NULL;
}
cleanup:
if (sock->fd)
close(sock->fd);
- free(sock);
+ VIR_FREE(sock);
return -1;
}
_("Resulting path too long for buffer in qemudInitPaths()"));
cleanup:
- free (dir_prefix);
- free (sock_dir_prefix);
+ VIR_FREE(dir_prefix);
+ VIR_FREE(sock_dir_prefix);
return ret;
}
sasl_dispose(&client->saslconn);
client->saslconn = NULL;
}
- free(client->saslUsername);
- client->saslUsername = NULL;
+ VIR_FREE(client->saslUsername);
#endif
if (client->tlssession) {
gnutls_deinit (client->tlssession);
if (sock->watch)
virEventRemoveHandleImpl(sock->watch);
close(sock->fd);
- free(sock);
+ VIR_FREE(sock);
sock = next;
}
- free(server->logDir);
+ VIR_FREE(server->logDir);
#ifdef HAVE_SASL
if (server->saslUsernameWhitelist) {
char **list = server->saslUsernameWhitelist;
while (*list) {
- free(*list);
+ VIR_FREE(*list);
list++;
}
- free(server->saslUsernameWhitelist);
+ VIR_FREE(server->saslUsernameWhitelist);
}
#endif
goto free_and_fail;
}
unix_sock_gid = grp->gr_gid;
- VIR_FREE (buf);
+ VIR_FREE(buf);
}
- free (unix_sock_group);
- unix_sock_group = NULL;
+ VIR_FREE(unix_sock_group);
}
GET_CONF_STR (conf, filename, unix_sock_ro_perms);
VIR_ERROR(_("Failed to parse mode '%s'"), unix_sock_ro_perms);
goto free_and_fail;
}
- free (unix_sock_ro_perms);
- unix_sock_ro_perms = NULL;
+ VIR_FREE(unix_sock_ro_perms);
}
GET_CONF_STR (conf, filename, unix_sock_rw_perms);
VIR_ERROR(_("Failed to parse mode '%s'"), unix_sock_rw_perms);
goto free_and_fail;
}
- free (unix_sock_rw_perms);
- unix_sock_rw_perms = NULL;
+ VIR_FREE(unix_sock_rw_perms);
}
GET_CONF_STR (conf, filename, unix_sock_dir);
free_and_fail:
virConfFree (conf);
- free (mdns_name);
- mdns_name = NULL;
- free (unix_sock_ro_perms);
- free (unix_sock_rw_perms);
- free (unix_sock_group);
- VIR_FREE (buf);
+ VIR_FREE(mdns_name);
+ VIR_FREE(unix_sock_ro_perms);
+ VIR_FREE(unix_sock_rw_perms);
+ VIR_FREE(unix_sock_group);
+ VIR_FREE(buf);
/* 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
if (tls_allowed_dn_list) {
int i;
for (i = 0; tls_allowed_dn_list[i]; i++)
- free (tls_allowed_dn_list[i]);
- free (tls_allowed_dn_list);
- tls_allowed_dn_list = NULL;
+ VIR_FREE(tls_allowed_dn_list[i]);
+ VIR_FREE(tls_allowed_dn_list);
}
return -1;
...
virBufferAddLit(&buf, "<domain>\n");
- virBufferVSprint(&buf, " <memory>%d</memory>\n", memory);
+ virBufferVSprint(&buf, " <memory>%d</memory>\n", memory);
...
virBufferAddLit(&buf, "</domain>\n");
- ....
+ ...
if (virBufferError(&buf)) {
- __virRaiseError(...);
+ virBufferFreeAndReset(&buf);
+ virReportOOMError(...);
return NULL;
}
virBufferAddLit(&xml, "</capabilities>\n");
- if (virBufferError(&xml))
+ if (virBufferError(&xml)) {
+ virBufferFreeAndReset(&xml);
return NULL;
+ }
return virBufferContentAndReset(&xml);
}
}
if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
virReportOOMError(conn);
return NULL;
}
virBuffer buf = VIR_BUFFER_INITIALIZER;
unsigned char *uuid;
char uuidstr[VIR_UUID_STRING_BUFLEN];
- const char *type = NULL, *tmp;
+ const char *type = NULL;
int n, allones = 1;
if (!(type = virDomainVirtTypeToString(def->virtType))) {
no_memory:
virReportOOMError(conn);
cleanup:
- tmp = virBufferContentAndReset(&buf);
- VIR_FREE(tmp);
+ virBufferFreeAndReset(&buf);
return NULL;
}
virDomainObjPtr obj,
int flags)
{
- char *config_xml = NULL, *xml = NULL;
+ char *config_xml = NULL;
virBuffer buf = VIR_BUFFER_INITIALIZER;
virBufferVSprintf(&buf, "<domstatus state='%s' pid='%d'>\n",
no_memory:
virReportOOMError(conn);
error:
- xml = virBufferContentAndReset(&buf);
- VIR_FREE(xml);
+ virBufferFreeAndReset(&buf);
return NULL;
}
const virInterfaceDefPtr def)
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
- const char *type = NULL, *tmp;
+ const char *type = NULL;
if ((def == NULL) ||
((def->name == NULL) && (def->type != VIR_INTERFACE_TYPE_VLAN))) {
no_memory:
virReportOOMError(conn);
cleanup:
- tmp = virBufferContentAndReset(&buf);
- VIR_FREE(tmp);
+ virBufferFreeAndReset(&buf);
return NULL;
}
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
unsigned char *uuid;
- char *tmp;
char uuidstr[VIR_UUID_STRING_BUFLEN];
virBufferAddLit(&buf, "<network>\n");
no_memory:
virReportOOMError(conn);
- tmp = virBufferContentAndReset(&buf);
- VIR_FREE(tmp);
+ virBufferFreeAndReset(&buf);
return NULL;
}
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
virNodeDevCapsDefPtr caps;
- char *tmp;
virBufferAddLit(&buf, "<device>\n");
virBufferEscapeString(&buf, " <name>%s</name>\n", def->name);
no_memory:
virReportOOMError(conn);
- tmp = virBufferContentAndReset(&buf);
- VIR_FREE(tmp);
+ virBufferFreeAndReset(&buf);
return NULL;
}
virBuffer buf = VIR_BUFFER_INITIALIZER;
unsigned char *uuid;
char uuidstr[VIR_UUID_STRING_BUFLEN];
- char *tmp;
virBufferVSprintf(&buf, "<secret ephemeral='%s' private='%s'>\n",
def->ephemeral ? "yes" : "no",
no_memory:
virReportOOMError(conn);
error:
- tmp = virBufferContentAndReset(&buf);
- VIR_FREE(tmp);
+ virBufferFreeAndReset(&buf);
return NULL;
}
no_memory:
virReportOOMError(conn);
cleanup:
- free(virBufferContentAndReset(&buf));
+ virBufferFreeAndReset(&buf);
return NULL;
}
virStorageVolDefPtr def) {
virStorageVolOptionsPtr options;
virBuffer buf = VIR_BUFFER_INITIALIZER;
- char *tmp;
options = virStorageVolOptionsForPoolType(pool->type);
if (options == NULL)
no_memory:
virReportOOMError(conn);
cleanup:
- tmp = virBufferContentAndReset(&buf);
- VIR_FREE(tmp);
+ virBufferFreeAndReset(&buf);
return NULL;
}
no_memory:
virReportOOMError(conn);
cleanup:
- free(virBufferContentAndReset(&buf));
+ virBufferFreeAndReset(&buf);
return NULL;
}
return xml;
failure:
+ virBufferFreeAndReset(&buffer);
VIR_FREE(xml);
goto cleanup;
return domain;
failure:
+ virBufferFreeAndReset(&buffer);
+
domain = NULL;
goto cleanup;
return 0;
failure:
- free(virBufferContentAndReset(&buffer));
+ virBufferFreeAndReset(&buffer);
return -1;
}
return 0;
failure:
- free(virBufferContentAndReset(&buffer));
+ virBufferFreeAndReset(&buffer);
esxVI_Response_Free(response);
esxVI_Fault_Free(&fault);
return result;
failure:
- free(virBufferContentAndReset(&buffer));
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
return result;
failure:
- if (request == NULL) {
- request = virBufferContentAndReset(&buffer);
- }
+ virBufferFreeAndReset(&buffer);
result = -1;
int sched_cpu_affinity_length;
unsigned char zero[VIR_UUID_BUFLEN];
virBuffer buffer = VIR_BUFFER_INITIALIZER;
- char *vmx = NULL;
memset(zero, 0, VIR_UUID_BUFLEN);
goto failure;
}
- vmx = virBufferContentAndReset(&buffer);
-
- return vmx;
+ return virBufferContentAndReset(&buffer);
failure:
- if (vmx == NULL) {
- vmx = virBufferContentAndReset(&buffer);
- }
-
- VIR_FREE(vmx);
+ virBufferFreeAndReset(&buffer);
return NULL;
}
virBufferContentAndReset;
virBufferError;
virBufferURIEncodeString;
+virBufferFreeAndReset;
# caps.h
}
if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
VIR_ERROR("Buffer error when generating device name for device "
"with sysname '%s'\n", udev_device_get_sysname(device));
ret = -1;
#include "one_client.h"
#include "datatypes.h"
#include "util.h"
+#include "memory.h"
oneClient one_client;
if( return_code )
{
xmlrpc_DECREF(resultP);
- free(return_string);
+ VIR_FREE(return_string);
return 0;
}
else
{
- free(one_client.error);
+ VIR_FREE(one_client.error);
one_client.error=return_string;
return -1;
xmlrpc_DECREF(valueP);
xmlrpc_DECREF(resultP);
- free(one_client.error);
+ VIR_FREE(one_client.error);
one_client.error=return_string;
return -1;
}
xmlrpc_DECREF(resultP);
- free(return_string);
+ VIR_FREE(return_string);
return retval;
}
no_memory:
virReportOOMError(conn);
- char* tmp = virBufferContentAndReset(&buf);
- VIR_FREE(tmp);
+ virBufferFreeAndReset(&buf);
return NULL;
};
str_start = offset + from_len;
}
- virBufferAdd(&buf, str_start, strlen(str_start));
+ virBufferAdd(&buf, str_start, -1);
- if(virBufferError(&buf))
- return NULL;
+ if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
+ return NULL;
+ }
return virBufferContentAndReset(&buf);
}
return 0;
exit:
- param = virBufferContentAndReset(&buf);
- VIR_FREE(param);
+ virBufferFreeAndReset(&buf);
return -1;
}
err:
(*exit_status) = SSH_CMD_ERR;
- char *cleanup_buf = virBufferContentAndReset(&tex_ret);
-
- VIR_FREE(cleanup_buf);
+ virBufferFreeAndReset(&tex_ret);
return NULL;
exit:
if (virBufferError(&tex_ret)) {
+ virBufferFreeAndReset(&tex_ret);
virReportOOMError(conn);
return NULL;
}
type_sep = ','; /* dead-store, but leave it, in case... */
}
if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
virReportOOMError(conn);
return -1;
}
virBufferAddLit(&buf, "control,");
qemudBuildCommandLineChrDevStr(monitor_chr, &buf);
- if (virBufferError(&buf))
- goto error;
+ if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
+ goto no_memory;
+ }
ADD_ARG_LIT("-monitor");
ADD_ARG(virBufferContentAndReset(&buf));
}
if (virBufferError(&opt)) {
- virReportOOMError(conn);
- goto error;
+ virBufferFreeAndReset(&opt);
+ goto no_memory;
}
optstr = virBufferContentAndReset(&opt);
virDomainChrDefPtr serial = def->serials[i];
qemudBuildCommandLineChrDevStr(serial, &buf);
- if (virBufferError(&buf))
- goto error;
+ if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
+ goto no_memory;
+ }
ADD_ARG_LIT("-serial");
ADD_ARG(virBufferContentAndReset(&buf));
virDomainChrDefPtr parallel = def->parallels[i];
qemudBuildCommandLineChrDevStr(parallel, &buf);
- if (virBufferError(&buf))
- goto error;
+ if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
+ goto no_memory;
+ }
ADD_ARG_LIT("-parallel");
ADD_ARG(virBufferContentAndReset(&buf));
}
qemudBuildCommandLineChrDevChardevStr(channel, id, &buf);
- if (virBufferError(&buf))
- goto error;
+ if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
+ goto no_memory;
+ }
ADD_ARG_LIT("-chardev");
ADD_ARG(virBufferContentAndReset(&buf));
VIR_FREE(addr);
- if (virBufferError(&buf))
- goto error;
+ if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
+ goto no_memory;
+ }
ADD_ARG_LIT("-net");
ADD_ARG(virBufferContentAndReset(&buf));
virBufferVSprintf(&opt, "%d",
def->graphics[0]->data.vnc.port - 5900);
}
- if (virBufferError(&opt))
+ if (virBufferError(&opt)) {
+ virBufferFreeAndReset(&opt);
goto no_memory;
+ }
optstr = virBufferContentAndReset(&opt);
tmp++;
}
- if (virBufferError(&buf))
+ if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
+ virReportOOMError(conn);
goto cleanup;
+ }
ret = virBufferContentAndReset(&buf);
/* Free hostname copy */
- free (priv->hostname);
+ VIR_FREE(priv->hostname);
/* See comment for remoteType. */
- free (priv->type);
+ VIR_FREE(priv->type);
/* Free callback list */
virDomainEventCallbackListFree(priv->callbackList);
rv = 0;
cleanup:
- free (ret.buffer.buffer_val);
+ VIR_FREE(ret.buffer.buffer_val);
done:
remoteDriverUnlock(priv);
rv = 0;
cleanup:
- free (ret.buffer.buffer_val);
+ VIR_FREE(ret.buffer.buffer_val);
done:
remoteDriverUnlock(priv);
else {
mcsList = ptr->next;
}
- free(ptr->mcs);
- free(ptr);
+ VIR_FREE(ptr->mcs);
+ VIR_FREE(ptr);
return 0;
}
prevptr = ptr;
}
strcpy(sec->label, (char *) ctx);
- free(ctx);
+ VIR_FREE(ctx);
sec->enforcing = security_getenforce();
if (sec->enforcing == -1) {
VIR_FREE(ctl->def);
if (ctl->caps)
virCapabilitiesFree(ctl->caps);
- free(ctl->files);
- free(ctl->hvm);
- free(ctl->arch);
- free(ctl->newdisk);
+ VIR_FREE(ctl->files);
+ VIR_FREE(ctl->hvm);
+ VIR_FREE(ctl->arch);
+ VIR_FREE(ctl->newdisk);
return 0;
}
}
clean:
- free(tmp);
+ VIR_FREE(tmp);
return rc;
}
goto clean;
if (virBufferError(&buf)) {
- vah_error(NULL, 0, "failed to allocate file buffer");
- goto clean;
+ virBufferFreeAndReset(&buf);
+ vah_error(NULL, 0, "failed to allocate file buffer");
+ goto clean;
}
rc = 0;
if (ctl->files)
virBufferVSprintf(&buf, "%s", ctl->files);
- if (virBufferError(&buf))
+ if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
vah_error(ctl, 1, "failed to allocate buffer");
+ }
included_files = virBufferContentAndReset(&buf);
conn->secretDriver->undefine(secret);
virSecretFree(secret);
}
- xml = virBufferContentAndReset(&buf);
- VIR_FREE(xml);
+ virBufferFreeAndReset(&buf);
virSecretDefFree(def);
VIR_FREE(enc_secret);
return ret;
goto cleanup;
n_tok = 0;
for (i = 0; i < n_columns; i++) {
- free (v[i]);
- v[i] = NULL;
+ VIR_FREE(v[i]);
}
}
}
cleanup:
for (i = 0; i < n_columns; i++)
- free (v[i]);
- free (v);
+ VIR_FREE(v[i]);
+ VIR_FREE(v);
if (fp)
fclose (fp);
cleanup:
storageDriverUnlock(driver);
for (i = 0 ; i < got ; i++) {
- free(names[i]);
- names[i] = NULL;
+ VIR_FREE(names[i]);
}
memset(names, 0, nnames * sizeof(*names));
return -1;
virDomainNetDefPtr def,
int idx)
{
- char *ret;
virBuffer buf = VIR_BUFFER_INITIALIZER;
/* General format: ethNN=type,options */
return virBufferContentAndReset(&buf);
error:
- ret = virBufferContentAndReset(&buf);
- VIR_FREE(ret);
+ virBufferFreeAndReset(&buf);
return NULL;
}
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:
* @buf: the buffer
#endif
char *virBufferContentAndReset(const virBufferPtr buf);
+void virBufferFreeAndReset(const virBufferPtr buf);
int virBufferError(const virBufferPtr buf);
unsigned int virBufferUse(const virBufferPtr buf);
void virBufferAdd(const virBufferPtr buf, const char *str, int len);
}
if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
virReportOOMError(NULL);
return -1;
}
fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR );
if (fd < 0) {
- char *tmp = virBufferContentAndReset(&buf);
+ virBufferFreeAndReset(&buf);
virConfError(NULL, VIR_ERR_WRITE_FAILED, _("failed to open file"));
- VIR_FREE(tmp);
return -1;
}
}
if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
virReportOOMError(NULL);
return -1;
}
}
virLogUnlock();
- if (virBufferError(&filterbuf))
+ if (virBufferError(&filterbuf)) {
+ virBufferFreeAndReset(&filterbuf);
return NULL;
+ }
return virBufferContentAndReset(&filterbuf);
}
}
virLogUnlock();
- if (virBufferError(&outputbuf))
+ if (virBufferError(&outputbuf)) {
+ virBufferFreeAndReset(&outputbuf);
return NULL;
+ }
return virBufferContentAndReset(&outputbuf);
}
}
if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
virReportOOMError(NULL);
return NULL;
}
}
}
- free (buf);
+ VIR_FREE(buf);
errno = save_errno;
return NULL;
}
{
if (err == NULL)
return;
- free(err->message);
- free(err->str1);
- free(err->str2);
- free(err->str3);
+ VIR_FREE(err->message);
+ VIR_FREE(err->str1);
+ VIR_FREE(err->str2);
+ VIR_FREE(err->str3);
memset(err, 0, sizeof(virError));
}
* string instead of an error. Assume it's not connected
* in this case.
*/
- free (rs);
+ VIR_FREE(rs);
return 0;
}
r = STREQ (rs, "4");
- free (rs);
+ VIR_FREE(rs);
return r;
}
}
if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
virReportOOMError(NULL);
return -1;
}
break;
}
- if (virBufferError(buf))
+ if (virBufferError(buf)) {
+ virReportOOMError(conn);
return -1;
+ }
return 0;
}
virBufferVSprintf(buf, "%s%s", i ? "," : "", str);
}
- if (virBufferError(buf))
+ if (virBufferError(buf)) {
+ virReportOOMError(conn);
return -1;
+ }
return 0;
}
if (virBufferError(&buf)) {
virReportOOMError(conn);
- return NULL;
+ goto error;
}
return virBufferContentAndReset(&buf);
error:
- tmp = virBufferContentAndReset(&buf);
- VIR_FREE(tmp);
+ virBufferFreeAndReset(&buf);
return NULL;
}
return -1;
tmp = virStrcpy(ref, xref, ref_len);
- free(xref);
+ VIR_FREE(xref);
if (tmp == NULL)
return -1;
} else if (dev->type == VIR_DOMAIN_DEVICE_NET) {
return -1;
tmp = virStrcpy(ref, xref, ref_len);
- free(xref);
+ VIR_FREE(xref);
if (tmp == NULL)
return -1;
} else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV &&
}
if (virBufferError(&mapbuf)) {
+ virBufferFreeAndReset(&mapbuf);
virReportOOMError(domain->conn);
goto cleanup;
}
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
virConfValuePtr val, tmp;
- char *str;
if(disk->src) {
if (disk->driverName) {
if (virBufferError(&buf)) {
virReportOOMError(conn);
- return -1;
+ goto cleanup;
}
if (VIR_ALLOC(val) < 0) {
return 0;
cleanup:
- str = virBufferContentAndReset(&buf);
- VIR_FREE(str);
+ virBufferFreeAndReset(&buf);
return -1;
}
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
virConfValuePtr val, tmp;
- char *str;
xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
virBufferVSprintf(&buf, "mac=%02x:%02x:%02x:%02x:%02x:%02x",
virBufferVSprintf(&buf, ",vifname=%s",
net->ifname);
- if (virBufferError(&buf))
+ if (virBufferError(&buf)) {
+ virReportOOMError(conn);
goto cleanup;
+ }
if (VIR_ALLOC(val) < 0) {
virReportOOMError(conn);
return 0;
cleanup:
- str = virBufferContentAndReset(&buf);
- VIR_FREE(str);
+ virBufferFreeAndReset(&buf);
return -1;
}
virBufferVSprintf(&buf, ",keymap=%s",
def->graphics[0]->data.vnc.keymap);
}
- if (virBufferError(&buf))
+ if (virBufferError(&buf)) {
+ virBufferFreeAndReset(&buf);
goto no_memory;
+ }
vfbstr = virBufferContentAndReset(&buf);
if (tmp != NULL) {
if (tmp[0] == '1')
info->state = VIR_DOMAIN_RUNNING;
- free(tmp);
+ VIR_FREE(tmp);
} else {
info->state = VIR_DOMAIN_NOSTATE;
}
if (tmp != NULL) {
info->memory = atol(tmp);
info->maxMem = atol(tmp);
- free(tmp);
+ VIR_FREE(tmp);
} else {
info->memory = 0;
info->maxMem = 0;
tmp = virDomainDoStoreQuery(domain->conn, domain->id, "cpu_time");
if (tmp != NULL) {
info->cpuTime = atol(tmp);
- free(tmp);
+ VIR_FREE(tmp);
} else {
info->cpuTime = 0;
}
tmp2 = virConnectDoStoreList(domain->conn, request, &nb_vcpus);
if (tmp2 != NULL) {
info->nrVirtCpu = nb_vcpus;
- free(tmp2);
+ VIR_FREE(tmp2);
}
return (0);
}
tmp = xs_read(priv->xshandle, 0, prop, &len);
if (tmp != NULL) {
found = STREQ (name, tmp);
- free(tmp);
+ VIR_FREE(tmp);
if (found)
break;
}
ret->id = id;
done:
- free(xenddomain);
- free(idlist);
+ VIR_FREE(xenddomain);
+ VIR_FREE(idlist);
return(ret);
}
ret = strtol(tmp, &end, 10);
if (ret == 0 && end == tmp)
ret = -1;
- free(tmp);
+ VIR_FREE(tmp);
}
return(ret);
}
if (vm) {
snprintf(query, 199, "%s/image/ostype", vm);
str = xs_read(priv->xshandle, 0, &query[0], &len);
- free(vm);
+ VIR_FREE(vm);
}
if (str == NULL)
str = strdup("linux");
return TRUE;
cleanup:
- free(virBufferContentAndReset(&buf));
+ virBufferFreeAndReset(&buf);
return FALSE;
}
}
cleanup:
- free(virBufferContentAndReset(&buf));
+ virBufferFreeAndReset(&buf);
virStoragePoolFree(pool);
return FALSE;
}