[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] use qemu_malloc and friends consistently
From: |
jcd |
Subject: |
Re: [Qemu-devel] [PATCH v2] use qemu_malloc and friends consistently |
Date: |
Sun, 7 Jun 2009 22:05:11 +0100 (GMT+01:00) |
Hi,
Just curious here, but will somebody pick up this patch at some point or do I
need to resubmit?
It doesn't seem that the patch by itself is controversial even if the
qemu_malloc implementation issue is a heated discussion.
Thanks
JC
----- "Jean-Christophe Dubois" <address@hidden> a écrit :
> qemu_malloc, qemu_free and friends are not used consistently in the
> qemu
> source code.
>
> This is a first attempt to use these oveloaded functions consistently
> all over
> the place instead of the default glibc versions.
>
> This version avoid to use qemu_malloc in qemu-io.c if the size to
> allocate is
> 0.
>
> Signed-off-by: Jean-Christophe DUBOIS <address@hidden>
>
> --- qemu.org/acl.c Sat May 16 17:57:26 2009
> +++ qemu/acl.c Thu May 28 23:14:01 2009
> @@ -104,8 +104,8 @@
> acl->defaultDeny = 1;
> TAILQ_FOREACH(entry, &acl->entries, next) {
> TAILQ_REMOVE(&acl->entries, entry, next);
> - free(entry->match);
> - free(entry);
> + qemu_free(entry->match);
> + qemu_free(entry);
> }
> acl->nentries = 0;
> }
> --- qemu.org/audio/paaudio.c Sat May 16 17:57:26 2009
> +++ qemu/audio/paaudio.c Thu May 28 23:14:01 2009
> @@ -340,7 +340,7 @@
> return 0;
>
> fail3:
> - free (pa->pcm_buf);
> + qemu_free (pa->pcm_buf);
> pa->pcm_buf = NULL;
> fail2:
> pa_simple_free (pa->s);
> @@ -394,7 +394,7 @@
> return 0;
>
> fail3:
> - free (pa->pcm_buf);
> + qemu_free (pa->pcm_buf);
> pa->pcm_buf = NULL;
> fail2:
> pa_simple_free (pa->s);
> --- qemu.org/block/cloop.c Sat May 16 17:57:26 2009
> +++ qemu/block/cloop.c Thu May 28 23:14:01 2009
> @@ -148,9 +148,9 @@
> BDRVCloopState *s = bs->opaque;
> close(s->fd);
> if(s->n_blocks>0)
> - free(s->offsets);
> - free(s->compressed_block);
> - free(s->uncompressed_block);
> + qemu_free(s->offsets);
> + qemu_free(s->compressed_block);
> + qemu_free(s->uncompressed_block);
> inflateEnd(&s->zstream);
> }
>
> --- qemu.org/block/dmg.c Sat May 16 17:57:26 2009
> +++ qemu/block/dmg.c Thu May 28 23:14:01 2009
> @@ -273,14 +273,14 @@
> BDRVDMGState *s = bs->opaque;
> close(s->fd);
> if(s->n_chunks>0) {
> - free(s->types);
> - free(s->offsets);
> - free(s->lengths);
> - free(s->sectors);
> - free(s->sectorcounts);
> + qemu_free(s->types);
> + qemu_free(s->offsets);
> + qemu_free(s->lengths);
> + qemu_free(s->sectors);
> + qemu_free(s->sectorcounts);
> }
> - free(s->compressed_chunk);
> - free(s->uncompressed_chunk);
> + qemu_free(s->compressed_chunk);
> + qemu_free(s->uncompressed_chunk);
> inflateEnd(&s->zstream);
> }
>
> --- qemu.org/block/vvfat.c Sat May 16 17:57:26 2009
> +++ qemu/block/vvfat.c Thu May 28 23:14:01 2009
> @@ -87,7 +87,7 @@
> static inline void array_free(array_t* array)
> {
> if(array->pointer)
> - free(array->pointer);
> + qemu_free(array->pointer);
> array->size=array->next=0;
> }
>
> @@ -169,7 +169,7 @@
>
> memcpy(to,buf,is*count);
>
> - free(buf);
> + qemu_free(buf);
>
> return 0;
> }
> @@ -732,7 +732,7 @@
> snprintf(buffer,length,"%s/%s",dirname,entry->d_name);
>
> if(stat(buffer,&st)<0) {
> - free(buffer);
> + qemu_free(buffer);
> continue;
> }
>
> @@ -755,7 +755,7 @@
> direntry->begin=0; /* do that later */
> if (st.st_size > 0x7fffffff) {
> fprintf(stderr, "File %s is larger than 2GB\n", buffer);
> - free(buffer);
> + qemu_free(buffer);
> return -2;
> }
> direntry->size=cpu_to_le32(S_ISDIR(st.st_mode)?0:st.st_size);
> @@ -882,7 +882,7 @@
> mapping->dir_index = 0;
> mapping->info.dir.parent_mapping_index = -1;
> mapping->first_mapping_index = -1;
> - mapping->path = strdup(dirname);
> + mapping->path = qemu_strdup(dirname);
> i = strlen(mapping->path);
> if (i > 0 && mapping->path[i - 1] == '/')
> mapping->path[i - 1] = '\0';
> @@ -1369,7 +1369,7 @@
> assert(commit->path || commit->action == ACTION_WRITEOUT);
> if (commit->action != ACTION_WRITEOUT) {
> assert(commit->path);
> - free(commit->path);
> + qemu_free(commit->path);
> } else
> assert(commit->path == NULL);
> }
> @@ -1632,10 +1632,10 @@
>
> /* rename */
> if (strcmp(basename, basename2))
> - schedule_rename(s, cluster_num, strdup(path));
> + schedule_rename(s, cluster_num, qemu_strdup(path));
> } else if (is_file(direntry))
> /* new file */
> - schedule_new_file(s, strdup(path), cluster_num);
> + schedule_new_file(s, qemu_strdup(path), cluster_num);
> else {
> assert(0);
> return 0;
> @@ -1752,10 +1752,10 @@
> mapping->mode &= ~MODE_DELETED;
>
> if (strcmp(basename, basename2))
> - schedule_rename(s, cluster_num, strdup(path));
> + schedule_rename(s, cluster_num, qemu_strdup(path));
> } else
> /* new directory */
> - schedule_mkdir(s, cluster_num, strdup(path));
> + schedule_mkdir(s, cluster_num, qemu_strdup(path));
>
> lfn_init(&lfn);
> do {
> @@ -1776,7 +1776,7 @@
> if (subret) {
> fprintf(stderr, "Error fetching direntries\n");
> fail:
> - free(cluster);
> + qemu_free(cluster);
> return 0;
> }
>
> @@ -1844,7 +1844,7 @@
> cluster_num = modified_fat_get(s, cluster_num);
> } while(!fat_eof(s, cluster_num));
>
> - free(cluster);
> + qemu_free(cluster);
> return ret;
> }
>
> @@ -1990,7 +1990,7 @@
>
> /* free mapping */
> if (mapping->first_mapping_index < 0)
> - free(mapping->path);
> + qemu_free(mapping->path);
>
> /* remove from s->mapping */
> array_remove(&(s->mapping), mapping_index);
> @@ -2390,7 +2390,7 @@
> }
> }
>
> - free(old_path);
> + qemu_free(old_path);
> array_remove(&(s->commits), i);
> continue;
> } else if (commit->action == ACTION_MKDIR) {
> @@ -2758,7 +2758,7 @@
> static void write_target_close(BlockDriverState *bs) {
> BDRVVVFATState* s = bs->opaque;
> bdrv_delete(s->qcow);
> - free(s->qcow_filename);
> + qemu_free(s->qcow_filename);
> }
>
> static BlockDriver vvfat_write_target = {
> @@ -2771,7 +2771,7 @@
> static int enable_write_target(BDRVVVFATState *s)
> {
> int size = sector2cluster(s, s->sector_count);
> - s->used_clusters = calloc(size, 1);
> + s->used_clusters = qemu_mallocz(size);
>
> array_init(&(s->commits), sizeof(commit_t));
>
> @@ -2788,7 +2788,7 @@
> unlink(s->qcow_filename);
> #endif
>
> - s->bs->backing_hd = calloc(sizeof(BlockDriverState), 1);
> + s->bs->backing_hd = qemu_mallocz(sizeof(BlockDriverState));
> s->bs->backing_hd->drv = &vvfat_write_target;
> s->bs->backing_hd->opaque = s;
>
> @@ -2804,7 +2804,7 @@
> array_free(&(s->directory));
> array_free(&(s->mapping));
> if(s->cluster_buffer)
> - free(s->cluster_buffer);
> + qemu_free(s->cluster_buffer);
> }
>
> static BlockDriver bdrv_vvfat = {
> --- qemu.org/bsd-user/main.c Sat May 16 17:57:26 2009
> +++ qemu/bsd-user/main.c Thu May 28 23:14:01 2009
> @@ -822,7 +822,7 @@
> while (*(wrk++))
> environ_count++;
>
> - target_environ = malloc((environ_count + 1) * sizeof(char *));
> + target_environ = qemu_malloc((environ_count + 1) * sizeof(char
> *));
> if (!target_environ)
> abort();
> for (wrk = environ, dst = target_environ; *wrk; wrk++) {
> @@ -838,10 +838,10 @@
> }
>
> for (wrk = target_environ; *wrk; wrk++) {
> - free(*wrk);
> + qemu_free(*wrk);
> }
>
> - free(target_environ);
> + qemu_free(target_environ);
>
> if (qemu_log_enabled()) {
> log_page_dump();
> --- qemu.org/bsd-user/path.c Sat May 16 17:57:26 2009
> +++ qemu/bsd-user/path.c Thu May 28 23:14:01 2009
> @@ -45,8 +45,8 @@
> struct pathelem *parent,
> const char *name)
> {
> - struct pathelem *new = malloc(sizeof(*new));
> - new->name = strdup(name);
> + struct pathelem *new = qemu_malloc(sizeof(*new));
> + new->name = qemu_strdup(name);
> asprintf(&new->pathname, "%s/%s", root, name);
> new->num_entries = 0;
> return new;
> @@ -75,7 +75,7 @@
> {
> root->num_entries++;
>
> - root = realloc(root, sizeof(*root)
> + root = qemu_realloc(root, sizeof(*root)
> + sizeof(root->entries[0])*root->num_entries);
>
> root->entries[root->num_entries-1] = new_entry(root->pathname,
> root,
> name);
> @@ -137,14 +137,14 @@
> pstrcpy(pref_buf, sizeof(pref_buf), cwd);
> pstrcat(pref_buf, pref_buf_len, "/");
> pstrcat(pref_buf, pref_buf_len, prefix);
> - free(cwd);
> + qemu_free(cwd);
> } else
> pstrcpy(pref_buf, sizeof(pref_buf), prefix + 1);
>
> base = new_entry("", NULL, pref_buf);
> base = add_dir_maybe(base);
> if (base->num_entries == 0) {
> - free (base);
> + qemu_free (base);
> base = NULL;
> } else {
> set_parents(base, base);
> --- qemu.org/hw/baum.c Sat May 16 17:57:26 2009
> +++ qemu/hw/baum.c Thu May 28 23:14:01 2009
> @@ -558,7 +558,7 @@
> if (ret == -1 && (brlapi_errno != BRLAPI_ERROR_LIBCERR || errno
> !=
> EINTR)) {
> brlapi_perror("baum: brlapi_readKey");
> brlapi__closeConnection(baum->brlapi);
> - free(baum->brlapi);
> + qemu_free(baum->brlapi);
> baum->brlapi = NULL;
> }
> }
> @@ -621,9 +621,9 @@
> qemu_free_timer(baum->cellCount_timer);
> brlapi__closeConnection(handle);
> fail_handle:
> - free(handle);
> - free(chr);
> - free(baum);
> + qemu_free(handle);
> + qemu_free(chr);
> + qemu_free(baum);
> return NULL;
> }
>
> --- qemu.org/hw/bt-l2cap.c Sat May 16 17:57:26 2009
> +++ qemu/hw/bt-l2cap.c Thu May 28 23:14:01 2009
> @@ -1220,7 +1220,7 @@
> for (cid = L2CAP_CID_ALLOC; cid < L2CAP_CID_MAX; cid ++)
> if (l2cap->cid[cid]) {
>
> l2cap->cid[cid]->params.close(l2cap->cid[cid]->params.opaque);
> - free(l2cap->cid[cid]);
> + qemu_free(l2cap->cid[cid]);
> }
>
> if (l2cap->role)
> --- qemu.org/hw/nseries.c Sat May 16 17:57:26 2009
> +++ qemu/hw/nseries.c Thu May 28 23:14:02 2009
> @@ -711,7 +711,7 @@
> fb_blank = memset(qemu_malloc(800 * 480 * 2), 0xff, 800 * 480 *
> 2);
> /* Display Memory Data Port */
> chip->block(chip->opaque, 1, fb_blank, 800 * 480 * 2, 800);
> - free(fb_blank);
> + qemu_free(fb_blank);
> }
>
> static void n8x0_dss_setup(struct n800_s *s)
> --- qemu.org/hw/ppc440_bamboo.c Sat May 16 17:57:26 2009
> +++ qemu/hw/ppc440_bamboo.c Thu May 28 23:14:02 2009
> @@ -45,7 +45,7 @@
> snprintf(path, pathlen, "%s/%s", bios_dir,
> BINARY_DEVICE_TREE_FILE);
>
> fdt = load_device_tree(path, &fdt_size);
> - free(path);
> + qemu_free(path);
> if (fdt == NULL)
> goto out;
>
> --- qemu.org/hw/scsi-generic.c Sat May 16 17:57:26 2009
> +++ qemu/hw/scsi-generic.c Thu May 28 23:14:02 2009
> @@ -564,7 +564,7 @@
>
> if (len == 0) {
> if (r->buf != NULL)
> - free(r->buf);
> + qemu_free(r->buf);
> r->buflen = 0;
> r->buf = NULL;
> ret = execute_command(s->bdrv, r, SG_DXFER_NONE,
> scsi_command_complete);
> @@ -577,7 +577,7 @@
>
> if (r->buflen != len) {
> if (r->buf != NULL)
> - free(r->buf);
> + qemu_free(r->buf);
> r->buf = qemu_malloc(len);
> r->buflen = len;
> }
> --- qemu.org/linux-user/main.c Sat May 16 17:57:26 2009
> +++ qemu/linux-user/main.c Thu May 28 23:14:02 2009
> @@ -2464,7 +2464,7 @@
> * Prepare copy of argv vector for target.
> */
> target_argc = argc - optind;
> - target_argv = calloc(target_argc + 1, sizeof (char *));
> + target_argv = qemu_mallocz((target_argc + 1) * sizeof (char *));
> if (target_argv == NULL) {
> (void) fprintf(stderr, "Unable to allocate memory for
> target_argv\n");
> exit(1);
> @@ -2489,15 +2489,15 @@
> }
>
> for (i = 0; i < target_argc; i++) {
> - free(target_argv[i]);
> + qemu_free(target_argv[i]);
> }
> - free(target_argv);
> + qemu_free(target_argv);
>
> for (wrk = target_environ; *wrk; wrk++) {
> - free(*wrk);
> + qemu_free(*wrk);
> }
>
> - free(target_environ);
> + qemu_free(target_environ);
>
> if (qemu_log_enabled()) {
> log_page_dump();
> --- qemu.org/linux-user/syscall.c Sat May 16 17:57:26 2009
> +++ qemu/linux-user/syscall.c Thu May 28 23:14:02 2009
> @@ -2094,7 +2094,7 @@
>
> nsems = semid_ds.sem_nsems;
>
> - *host_array = malloc(nsems*sizeof(unsigned short));
> + *host_array = qemu_malloc(nsems*sizeof(unsigned short));
> array = lock_user(VERIFY_READ, target_addr,
> nsems*sizeof(unsigned short), 1);
> if (!array)
> @@ -2133,7 +2133,7 @@
> for(i=0; i<nsems; i++) {
> __put_user((*host_array)[i], &array[i]);
> }
> - free(*host_array);
> + qemu_free(*host_array);
> unlock_user(array, target_addr, 1);
>
> return 0;
> @@ -2379,11 +2379,11 @@
>
> if (!lock_user_struct(VERIFY_READ, target_mb, msgp, 0))
> return -TARGET_EFAULT;
> - host_mb = malloc(msgsz+sizeof(long));
> + host_mb = qemu_malloc(msgsz+sizeof(long));
> host_mb->mtype = (abi_long) tswapl(target_mb->mtype);
> memcpy(host_mb->mtext, target_mb->mtext, msgsz);
> ret = get_errno(msgsnd(msqid, host_mb, msgsz, msgflg));
> - free(host_mb);
> + qemu_free(host_mb);
> unlock_user_struct(target_mb, msgp, 0);
>
> return ret;
> @@ -2401,7 +2401,7 @@
> if (!lock_user_struct(VERIFY_WRITE, target_mb, msgp, 0))
> return -TARGET_EFAULT;
>
> - host_mb = malloc(msgsz+sizeof(long));
> + host_mb = qemu_malloc(msgsz+sizeof(long));
> ret = get_errno(msgrcv(msqid, host_mb, msgsz, tswapl(msgtyp),
> msgflg));
>
> if (ret > 0) {
> @@ -2416,7 +2416,7 @@
> }
>
> target_mb->mtype = tswapl(host_mb->mtype);
> - free(host_mb);
> + qemu_free(host_mb);
>
> end:
> if (target_mb)
> @@ -5428,7 +5428,7 @@
> struct linux_dirent *dirp;
> abi_long count = arg3;
>
> - dirp = malloc(count);
> + dirp = qemu_malloc(count);
> if (!dirp) {
> ret = -TARGET_ENOMEM;
> goto fail;
> @@ -5466,7 +5466,7 @@
> ret = count1;
> unlock_user(target_dirp, arg2, ret);
> }
> - free(dirp);
> + qemu_free(dirp);
> }
> #else
> {
> --- qemu.org/migration.c Sat May 16 17:57:27 2009
> +++ qemu/migration.c Thu May 28 23:14:02 2009
> @@ -266,7 +266,7 @@
> s->state = MIG_STATE_CANCELLED;
> migrate_fd_cleanup(s);
> }
> - free(s);
> + qemu_free(s);
> }
>
> void migrate_fd_wait_for_unfreeze(void *opaque)
> --- qemu.org/net.c Sat May 16 17:57:27 2009
> +++ qemu/net.c Thu May 28 23:14:02 2009
> @@ -214,7 +214,7 @@
> struct sockaddr_in *saddr,
> const char *input_str)
> {
> - char *str = strdup(input_str);
> + char *str = qemu_strdup(input_str);
> char *host_str = str;
> char *src_str;
> const char *src_str2;
> @@ -243,11 +243,11 @@
> if (parse_host_port(saddr, src_str2) < 0)
> goto fail;
>
> - free(str);
> + qemu_free(str);
> return(0);
>
> fail:
> - free(str);
> + qemu_free(str);
> return -1;
> }
>
> @@ -326,7 +326,7 @@
>
> snprintf(buf, sizeof(buf), "%s.%d", model, id);
>
> - return strdup(buf);
> + return qemu_strdup(buf);
> }
>
> VLANClientState *qemu_new_vlan_client(VLANState *vlan,
> @@ -339,9 +339,9 @@
> {
> VLANClientState *vc, **pvc;
> vc = qemu_mallocz(sizeof(VLANClientState));
> - vc->model = strdup(model);
> + vc->model = qemu_strdup(model);
> if (name)
> - vc->name = strdup(name);
> + vc->name = qemu_strdup(name);
> else
> vc->name = assign_name(vc, model);
> vc->fd_read = fd_read;
> @@ -368,8 +368,8 @@
> if (vc->cleanup) {
> vc->cleanup(vc);
> }
> - free(vc->name);
> - free(vc->model);
> + qemu_free(vc->name);
> + qemu_free(vc->model);
> qemu_free(vc);
> break;
> } else
> @@ -1147,7 +1147,7 @@
> s = qemu_mallocz(sizeof(VDEState));
> s->vde = vde_open(init_sock, (char *)"QEMU", &args);
> if (!s->vde){
> - free(s);
> + qemu_free(s);
> return -1;
> }
> s->vc = qemu_new_vlan_client(vlan, model, name, vde_from_qemu,
> @@ -1515,8 +1515,8 @@
> return -1;
> }
> s->vlan = vlan;
> - s->model = strdup(model);
> - s->name = name ? strdup(name) : NULL;
> + s->model = qemu_strdup(model);
> + s->name = name ? qemu_strdup(name) : NULL;
> s->fd = fd;
> qemu_set_fd_handler(fd, net_socket_accept, NULL, s);
> return 0;
> @@ -1746,7 +1746,7 @@
> int i, exit_status = 0;
>
> if (!nd->model)
> - nd->model = strdup(default_model);
> + nd->model = qemu_strdup(default_model);
>
> if (strcmp(nd->model, "?") != 0) {
> for (i = 0 ; models[i]; i++)
> @@ -1781,7 +1781,7 @@
> vlan = qemu_find_vlan(vlan_id);
>
> if (get_param_value(buf, sizeof(buf), "name", p)) {
> - name = strdup(buf);
> + name = qemu_strdup(buf);
> }
> if (!strcmp(device, "nic")) {
> static const char * const nic_params[] = {
> @@ -1818,7 +1818,7 @@
> }
> }
> if (get_param_value(buf, sizeof(buf), "model", p)) {
> - nd->model = strdup(buf);
> + nd->model = qemu_strdup(buf);
> }
> nd->vlan = vlan;
> nd->name = name;
> @@ -1854,7 +1854,7 @@
> slirp_restrict = (buf[0] == 'y') ? 1 : 0;
> }
> if (get_param_value(buf, sizeof(buf), "ip", p)) {
> - slirp_ip = strdup(buf);
> + slirp_ip = qemu_strdup(buf);
> }
> vlan->nb_host_devs++;
> ret = net_slirp_init(vlan, device, name);
> @@ -1870,7 +1870,7 @@
> ret = -1;
> goto out;
> }
> - vmc = malloc(sizeof(struct VMChannel));
> + vmc = qemu_malloc(sizeof(struct VMChannel));
> snprintf(name, 20, "vmchannel%ld", port);
> vmc->hd = qemu_chr_open(name, devname, NULL);
> if (!vmc->hd) {
> @@ -2047,7 +2047,7 @@
> }
> out:
> if (name)
> - free(name);
> + qemu_free(name);
> return ret;
> }
>
> @@ -2056,7 +2056,7 @@
> nd->vlan->nb_guest_devs--;
> nb_nics--;
> nd->used = 0;
> - free((void *)nd->model);
> + qemu_free((void *)nd->model);
> }
>
> static int net_host_check_device(const char *device)
> --- qemu.org/qemu-char.c Sat May 16 17:57:27 2009
> +++ qemu/qemu-char.c Thu May 28 23:14:02 2009
> @@ -1553,8 +1553,8 @@
> chr->chr_close = win_chr_close;
>
> if (win_chr_init(chr, filename) < 0) {
> - free(s);
> - free(chr);
> + qemu_free(s);
> + qemu_free(chr);
> return NULL;
> }
> qemu_chr_reset(chr);
> @@ -1652,8 +1652,8 @@
> chr->chr_close = win_chr_close;
>
> if (win_chr_pipe_init(chr, filename) < 0) {
> - free(s);
> - free(chr);
> + qemu_free(s);
> + qemu_free(chr);
> return NULL;
> }
> qemu_chr_reset(chr);
> @@ -1808,9 +1808,9 @@
>
> return_err:
> if (chr)
> - free(chr);
> + qemu_free(chr);
> if (s)
> - free(s);
> + qemu_free(s);
> if (fd >= 0)
> closesocket(fd);
> return NULL;
> --- qemu.org/qemu-img.c Sat May 16 17:57:27 2009
> +++ qemu/qemu-img.c Thu May 28 23:14:02 2009
> @@ -696,7 +696,7 @@
> bdrv_delete(out_bs);
> for (bs_i = 0; bs_i < bs_n; bs_i++)
> bdrv_delete(bs[bs_i]);
> - free(bs);
> + qemu_free(bs);
> return 0;
> }
>
> --- qemu.org/qemu-io.c Sat May 16 17:57:27 2009
> +++ qemu/qemu-io.c Fri May 29 19:45:51 2009
> @@ -310,15 +310,15 @@
> return 0;
> }
>
> - if (Pflag) {
> - void* cmp_buf = malloc(pattern_count);
> + if (Pflag && pattern_count) {
> + void* cmp_buf = qemu_malloc(pattern_count);
> memset(cmp_buf, pattern, pattern_count);
> if (memcmp(buf + pattern_offset, cmp_buf, pattern_count)) {
> printf("Pattern verification failed at offset %lld, "
> "%d bytes\n",
> (long long) offset + pattern_offset,
> pattern_count);
> }
> - free(cmp_buf);
> + qemu_free(cmp_buf);
> }
>
> if (qflag)
> @@ -464,15 +464,15 @@
> return 0;
> }
>
> - if (Pflag) {
> - void* cmp_buf = malloc(count);
> + if (Pflag && count) {
> + void* cmp_buf = qemu_malloc(count);
> memset(cmp_buf, pattern, count);
> if (memcmp(buf, cmp_buf, count)) {
> printf("Pattern verification failed at offset %lld, "
> "%d bytes\n",
> (long long) offset, count);
> }
> - free(cmp_buf);
> + qemu_free(cmp_buf);
> }
>
> if (qflag)
> --- qemu.org/readline.c Sat May 16 17:57:27 2009
> +++ qemu/readline.c Thu May 28 23:14:02 2009
> @@ -246,7 +246,7 @@
> }
> if (idx == READLINE_MAX_CMDS) {
> /* Need to get one free slot */
> - free(rs->history[0]);
> + qemu_free(rs->history[0]);
> memcpy(rs->history, &rs->history[1],
> (READLINE_MAX_CMDS - 1) * sizeof(char *));
> rs->history[READLINE_MAX_CMDS - 1] = NULL;
> --- qemu.org/slirp/socket.c Sat May 16 17:57:27 2009
> +++ qemu/slirp/socket.c Thu May 28 23:14:02 2009
> @@ -53,7 +53,7 @@
> {
> struct socket *so;
>
> - so = (struct socket *)malloc(sizeof(struct socket));
> + so = (struct socket *)qemu_malloc(sizeof(struct socket));
> if(so) {
> memset(so, 0, sizeof(struct socket));
> so->so_state = SS_NOFDREF;
> @@ -82,7 +82,7 @@
> if(so->so_next && so->so_prev)
> remque(so); /* crashes if so is not in a queue */
>
> - free(so);
> + qemu_free(so);
> }
>
> size_t sopreprbuf(struct socket *so, struct iovec *iov, int *np)
> @@ -601,13 +601,13 @@
> DEBUG_ARG("flags = %x", flags);
>
> if ((so = socreate()) == NULL) {
> - /* free(so); Not sofree() ??? free(NULL) == NOP */
> + /* qemu_free(so); Not sofree() ??? qemu_free(NULL) == NOP */
> return NULL;
> }
>
> /* Don't tcp_attach... we don't need so_snd nor so_rcv */
> if ((so->so_tcpcb = tcp_newtcpcb(so)) == NULL) {
> - free(so);
> + qemu_free(so);
> return NULL;
> }
> insque(so,&tcb);
> --- qemu.org/target-arm/helper.c Sat May 16 17:57:27 2009
> +++ qemu/target-arm/helper.c Thu May 28 23:14:02 2009
> @@ -330,7 +330,7 @@
>
> void cpu_arm_close(CPUARMState *env)
> {
> - free(env);
> + qemu_free(env);
> }
>
> uint32_t cpsr_read(CPUARMState *env)
> @@ -466,7 +466,7 @@
>
> static void allocate_mmon_state(CPUState *env)
> {
> - env->mmon_entry = malloc(sizeof (mmon_state));
> + env->mmon_entry = qemu_malloc(sizeof (mmon_state));
> memset (env->mmon_entry, 0, sizeof (mmon_state));
> env->mmon_entry->cpu_env = env;
> mmon_head = env->mmon_entry;
> --- qemu.org/target-i386/helper.c Sat May 16 17:57:27 2009
> +++ qemu/target-i386/helper.c Thu May 28 23:14:02 2009
> @@ -397,11 +397,11 @@
> x86_cpu_def->ext_features &= ~minus_ext_features;
> x86_cpu_def->ext2_features &= ~minus_ext2_features;
> x86_cpu_def->ext3_features &= ~minus_ext3_features;
> - free(s);
> + qemu_free(s);
> return 0;
>
> error:
> - free(s);
> + qemu_free(s);
> return -1;
> }
>
> --- qemu.org/target-i386/kvm.c Sat May 16 17:57:27 2009
> +++ qemu/target-i386/kvm.c Thu May 28 23:14:02 2009
> @@ -224,7 +224,7 @@
> }
> }
>
> - free(kvm_msr_list);
> + qemu_free(kvm_msr_list);
> }
>
> if (has_msr_star == 1)
> --- qemu.org/target-ppc/kvm_ppc.c Sat May 16 17:57:27 2009
> +++ qemu/target-ppc/kvm_ppc.c Thu May 28 23:14:02 2009
> @@ -51,7 +51,7 @@
> close:
> fclose(f);
> free:
> - free(path);
> + qemu_free(path);
> out:
> return ret;
> }
> --- qemu.org/target-sparc/helper.c Sat May 16 17:57:27 2009
> +++ qemu/target-sparc/helper.c Thu May 28 23:14:02 2009
> @@ -706,8 +706,8 @@
>
> static void cpu_sparc_close(CPUSPARCState *env)
> {
> - free(env->def);
> - free(env);
> + qemu_free(env->def);
> + qemu_free(env);
> }
>
> CPUSPARCState *cpu_sparc_init(const char *cpu_model)
> @@ -1333,11 +1333,11 @@
> #ifdef DEBUG_FEATURES
> print_features(stderr, fprintf, cpu_def->features, NULL);
> #endif
> - free(s);
> + qemu_free(s);
> return 0;
>
> error:
> - free(s);
> + qemu_free(s);
> return -1;
> }
>
> --- qemu.org/tcg/tcg.c Sat May 16 17:57:27 2009
> +++ qemu/tcg/tcg.c Thu May 28 23:14:02 2009
> @@ -341,7 +341,7 @@
> #endif
> pstrcpy(buf, sizeof(buf), name);
> pstrcat(buf, sizeof(buf), "_0");
> - ts->name = strdup(buf);
> + ts->name = qemu_strdup(buf);
> ts++;
>
> ts->base_type = type;
> @@ -356,7 +356,7 @@
> #endif
> pstrcpy(buf, sizeof(buf), name);
> pstrcat(buf, sizeof(buf), "_1");
> - ts->name = strdup(buf);
> + ts->name = qemu_strdup(buf);
>
> s->nb_globals += 2;
> } else
> @@ -531,7 +531,7 @@
> } else {
> n *= 2;
> }
> - s->helpers = realloc(s->helpers, n * sizeof(TCGHelperInfo));
> + s->helpers = qemu_realloc(s->helpers, n *
> sizeof(TCGHelperInfo));
> s->allocated_helpers = n;
> }
> s->helpers[s->nb_helpers].func = (tcg_target_ulong)func;
> --- qemu.org/vl.c Sat May 16 17:57:27 2009
> +++ qemu/vl.c Thu May 28 23:14:03 2009
> @@ -1071,7 +1071,7 @@
> exit(0);
> }
>
> - arg = strdup(opt);
> + arg = qemu_strdup(opt);
>
> /* Reorder the array */
> name = strtok(arg, ",");
> @@ -1100,7 +1100,7 @@
> name = strtok(NULL, ",");
> }
>
> - free(arg);
> + qemu_free(arg);
>
> if (cur) {
> /* Disable remaining timers */
> @@ -5711,7 +5716,7 @@
> fprintf(stderr, "Too many option ROMs\n");
> exit(1);
> }
> - option_rom[nb_option_roms] = strdup(buf);
> + option_rom[nb_option_roms] = qemu_strdup(buf);
> nb_option_roms++;
> netroms++;
> }
> --- qemu.org/vnc-auth-sasl.c Sat May 16 17:57:27 2009
> +++ qemu/vnc-auth-sasl.c Thu May 28 23:14:03 2009
> @@ -34,8 +34,8 @@
> vs->sasl.runSSF = vs->sasl.waitWriteSSF = vs->sasl.wantSSF =
> 0;
> vs->sasl.encodedLength = vs->sasl.encodedOffset = 0;
> vs->sasl.encoded = NULL;
> - free(vs->sasl.username);
> - free(vs->sasl.mechlist);
> + qemu_free(vs->sasl.username);
> + qemu_free(vs->sasl.mechlist);
> vs->sasl.username = vs->sasl.mechlist = NULL;
> sasl_dispose(&vs->sasl.conn);
> vs->sasl.conn = NULL;
> @@ -429,7 +429,7 @@
>
> static int protocol_client_auth_sasl_mechname(VncState *vs, uint8_t
> *data,
> size_t len)
> {
> - char *mechname = malloc(len + 1);
> + char *mechname = qemu_malloc(len + 1);
> if (!mechname) {
> VNC_DEBUG("Out of memory reading mechname\n");
> vnc_client_error(vs);
> @@ -462,7 +462,7 @@
> }
> }
>
> - free(vs->sasl.mechlist);
> + qemu_free(vs->sasl.mechlist);
> vs->sasl.mechlist = mechname;
>
> VNC_DEBUG("Validated mechname '%s'\n", mechname);
> @@ -510,7 +510,7 @@
> goto authabort;
>
> if (!(remoteAddr = vnc_socket_remote_addr("%s;%s", vs->csock)))
> {
> - free(localAddr);
> + qemu_free(localAddr);
> goto authabort;
> }
>
> @@ -522,8 +522,8 @@
> NULL, /* Callbacks, not needed */
> SASL_SUCCESS_DATA,
> &vs->sasl.conn);
> - free(localAddr);
> - free(remoteAddr);
> + qemu_free(localAddr);
> + qemu_free(remoteAddr);
> localAddr = remoteAddr = NULL;
>
> if (err != SASL_OK) {
> @@ -612,7 +612,7 @@
> }
> VNC_DEBUG("Available mechanisms for client: '%s'\n", mechlist);
>
> - if (!(vs->sasl.mechlist = strdup(mechlist))) {
> + if (!(vs->sasl.mechlist = qemu_strdup(mechlist))) {
> VNC_DEBUG("Out of memory");
> sasl_dispose(&vs->sasl.conn);
> vs->sasl.conn = NULL;
> --- qemu.org/vnc-tls.c Sat May 16 17:57:27 2009
> +++ qemu/vnc-tls.c Thu May 28 23:14:03 2009
> @@ -382,7 +382,7 @@
> vs->tls.session = NULL;
> }
> vs->tls.wiremode = VNC_WIREMODE_CLEAR;
> - free(vs->tls.dname);
> + qemu_free(vs->tls.dname);
> }
>
>
> --- qemu.org/vnc.c Sat May 16 17:57:27 2009
> +++ qemu/vnc.c Thu May 28 23:14:03 2009
> @@ -159,7 +159,7 @@
>
> monitor_printf(mon, "Client:\n");
> monitor_printf(mon, "%s", clientAddr);
> - free(clientAddr);
> + qemu_free(clientAddr);
>
> #ifdef CONFIG_VNC_TLS
> if (client->tls.session &&
> @@ -190,7 +190,7 @@
>
> monitor_printf(mon, "Server:\n");
> monitor_printf(mon, "%s", serverAddr);
> - free(serverAddr);
> + qemu_free(serverAddr);
> monitor_printf(mon, " auth: %s\n",
> vnc_auth_name(vnc_display));
>
> if (vnc_display->clients) {
> @@ -533,8 +533,8 @@
> last_bg, last_fg, &has_bg,
> &has_fg);
> }
> }
> - free(last_fg);
> - free(last_bg);
> + qemu_free(last_fg);
> + qemu_free(last_bg);
>
> }
>
> @@ -2123,7 +2123,7 @@
> if (strcmp(display, "none") == 0)
> return 0;
>
> - if (!(vs->display = strdup(display)))
> + if (!(vs->display = qemu_strdup(display)))
> return -1;
>
> options = display;
> @@ -2275,7 +2275,7 @@
> if ((saslErr = sasl_server_init(NULL, "qemu")) != SASL_OK) {
> fprintf(stderr, "Failed to initialize SASL auth %s",
> sasl_errstring(saslErr, NULL, NULL));
> - free(vs->display);
> + qemu_free(vs->display);
> vs->display = NULL;
> return -1;
> }
> @@ -2288,7 +2288,7 @@
> else
> vs->lsock = inet_connect(display, SOCK_STREAM);
> if (-1 == vs->lsock) {
> - free(vs->display);
> + qemu_free(vs->display);
> vs->display = NULL;
> return -1;
> } else {
> @@ -2309,10 +2309,10 @@
> vs->lsock = inet_listen(display, dpy, 256, SOCK_STREAM,
> 5900);
> }
> if (-1 == vs->lsock) {
> - free(dpy);
> + qemu_free(dpy);
> return -1;
> } else {
> - free(vs->display);
> + qemu_free(vs->display);
> vs->display = dpy;
> }
> }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v2] use qemu_malloc and friends consistently,
jcd <=