[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 31/88] QMP: use g_new() family of functions
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 31/88] QMP: use g_new() family of functions |
Date: |
Mon, 09 Oct 2017 09:38:37 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Philippe Mathieu-Daudé <address@hidden> writes:
> From: Marc-André Lureau <address@hidden>
>
> Signed-off-by: Marc-André Lureau <address@hidden>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> [PMD: more changes]
> ---
> monitor.c | 14 +++++++-------
> qmp.c | 14 +++++++-------
> tests/test-qmp-commands.c | 14 +++++++-------
> 3 files changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/monitor.c b/monitor.c
> index fe0d1bdbb4..ea6a485f11 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -906,7 +906,7 @@ static void query_commands_cb(QmpCommand *cmd, void
> *opaque)
> return;
> }
>
> - info = g_malloc0(sizeof(*info));
> + info = g_new0(CommandInfoList, 1);
> info->value = g_malloc0(sizeof(*info->value));
> info->value->name = g_strdup(cmd->name);
> info->next = *list;
I'm not convinced rewriting
LHS = g_malloc(sizeof(*LHS));
to
LHS = g_new(T, 1);
where T is the type of LHS is worth the trouble. The code before the
rewrite is pretty idiomatic. There's no possibility of integer overflow
g_new() could avoid. The types are obviously correct, so the additional
type checking is quite unlikely to catch anything. That leaves the
consistency argument. I'm willing to hear it, but I feel it should be
heard in a patch series that does nothing else.
> @@ -1799,7 +1799,7 @@ static void hmp_wavcapture(Monitor *mon, const QDict
> *qdict)
> int nchannels = qdict_get_try_int(qdict, "nchannels", -1);
> CaptureState *s;
>
> - s = g_malloc0 (sizeof (*s));
> + s = g_new0(CaptureState, 1);
>
> freq = has_freq ? freq : 44100;
> bits = has_bits ? bits : 16;
This hunk is HMP, not QMP.
> @@ -1947,7 +1947,7 @@ void qmp_getfd(const char *fdname, Error **errp)
> return;
> }
>
> - monfd = g_malloc0(sizeof(mon_fd_t));
> + monfd = g_new0(mon_fd_t, 1);
> monfd->name = g_strdup(fdname);
> monfd->fd = fd;
>
> @@ -2110,7 +2110,7 @@ FdsetInfoList *qmp_query_fdsets(Error **errp)
> QLIST_FOREACH(mon_fdset_fd, &mon_fdset->fds, next) {
> FdsetFdInfoList *fdsetfd_info;
>
> - fdsetfd_info = g_malloc0(sizeof(*fdsetfd_info));
> + fdsetfd_info = g_new0(FdsetFdInfoList, 1);
> fdsetfd_info->value = g_malloc0(sizeof(*fdsetfd_info->value));
> fdsetfd_info->value->fd = mon_fdset_fd->fd;
> if (mon_fdset_fd->opaque) {
> @@ -2199,7 +2199,7 @@ AddfdInfo *monitor_fdset_add_fd(int fd, bool
> has_fdset_id, int64_t fdset_id,
> }
> }
>
> - mon_fdset_fd = g_malloc0(sizeof(*mon_fdset_fd));
> + mon_fdset_fd = g_new0(MonFdsetFd, 1);
> mon_fdset_fd->fd = fd;
> mon_fdset_fd->removed = false;
> if (has_opaque) {
> @@ -2207,7 +2207,7 @@ AddfdInfo *monitor_fdset_add_fd(int fd, bool
> has_fdset_id, int64_t fdset_id,
> }
> QLIST_INSERT_HEAD(&mon_fdset->fds, mon_fdset_fd, next);
>
> - fdinfo = g_malloc0(sizeof(*fdinfo));
> + fdinfo = g_new0(AddfdInfo, 1);
> fdinfo->fdset_id = mon_fdset->id;
> fdinfo->fd = mon_fdset_fd->fd;
>
> @@ -4102,7 +4102,7 @@ void monitor_init(Chardev *chr, int flags)
> is_first_init = 0;
> }
>
> - mon = g_malloc(sizeof(*mon));
> + mon = g_new(Monitor, 1);
> monitor_data_init(mon);
>
> qemu_chr_fe_init(&mon->chr, chr, &error_abort);
This is monitor core, not QMP.
> diff --git a/qmp.c b/qmp.c
> index e8c303116a..e965020e37 100644
> --- a/qmp.c
> +++ b/qmp.c
> @@ -232,7 +232,7 @@ ObjectPropertyInfoList *qmp_qom_list(const char *path,
> Error **errp)
> while ((prop = object_property_iter_next(&iter))) {
> ObjectPropertyInfoList *entry = g_malloc0(sizeof(*entry));
>
> - entry->value = g_malloc0(sizeof(ObjectPropertyInfo));
> + entry->value = g_new0(ObjectPropertyInfo, 1);
> entry->next = props;
> props = entry;
>
> @@ -432,7 +432,7 @@ static void qom_list_types_tramp(ObjectClass *klass, void
> *data)
> ObjectTypeInfo *info;
> ObjectClass *parent = object_class_get_parent(klass);
>
> - info = g_malloc0(sizeof(*info));
> + info = g_new0(ObjectTypeInfo, 1);
> info->name = g_strdup(object_class_get_name(klass));
> info->has_abstract = info->abstract = object_class_is_abstract(klass);
> if (parent) {
> @@ -440,7 +440,7 @@ static void qom_list_types_tramp(ObjectClass *klass, void
> *data)
> info->parent = g_strdup(object_class_get_name(parent));
> }
>
> - e = g_malloc0(sizeof(*e));
> + e = g_new0(ObjectTypeInfoList, 1);
> e->value = info;
> e->next = *pret;
> *pret = e;
> @@ -490,7 +490,7 @@ static DevicePropertyInfo
> *make_device_property_info(ObjectClass *klass,
> return NULL; /* no way to set it, don't show */
> }
>
> - info = g_malloc0(sizeof(*info));
> + info = g_new0(DevicePropertyInfo, 1);
> info->name = g_strdup(prop->name);
> info->type = default_type ? g_strdup(default_type)
> : g_strdup(prop->info->name);
> @@ -502,7 +502,7 @@ static DevicePropertyInfo
> *make_device_property_info(ObjectClass *klass,
> } while (klass != object_class_by_name(TYPE_DEVICE));
>
> /* Not a qdev property, use the default type */
> - info = g_malloc0(sizeof(*info));
> + info = g_new0(DevicePropertyInfo, 1);
> info->name = g_strdup(name);
> info->type = g_strdup(default_type);
> info->has_description = !!description;
> @@ -568,7 +568,7 @@ DevicePropertyInfoList *qmp_device_list_properties(const
> char *typename,
> continue;
> }
>
> - entry = g_malloc0(sizeof(*entry));
> + entry = g_new0(DevicePropertyInfoList, 1);
> entry->value = info;
> entry->next = prop_list;
> prop_list = entry;
> @@ -712,7 +712,7 @@ ACPIOSTInfoList *qmp_query_acpi_ospm_status(Error **errp)
>
> MemoryInfo *qmp_query_memory_size_summary(Error **errp)
> {
> - MemoryInfo *mem_info = g_malloc0(sizeof(MemoryInfo));
> + MemoryInfo *mem_info = g_new0(MemoryInfo, 1);
>
> mem_info->base_memory = ram_size;
>
> diff --git a/tests/test-qmp-commands.c b/tests/test-qmp-commands.c
> index 904c89d4d4..e715c45a23 100644
> --- a/tests/test-qmp-commands.c
> +++ b/tests/test-qmp-commands.c
> @@ -28,8 +28,8 @@ UserDefTwo *qmp_user_def_cmd2(UserDefOne *ud1a,
> Error **errp)
> {
> UserDefTwo *ret;
> - UserDefOne *ud1c = g_malloc0(sizeof(UserDefOne));
> - UserDefOne *ud1d = g_malloc0(sizeof(UserDefOne));
> + UserDefOne *ud1c = g_new0(UserDefOne, 1);
> + UserDefOne *ud1d = g_new0(UserDefOne, 1);
>
> ud1c->string = strdup(ud1a->string);
> ud1c->integer = ud1a->integer;
> @@ -209,23 +209,23 @@ static void test_dealloc_types(void)
> UserDefOne *ud1test, *ud1a, *ud1b;
> UserDefOneList *ud1list;
>
> - ud1test = g_malloc0(sizeof(UserDefOne));
> + ud1test = g_new0(UserDefOne, 1);
> ud1test->integer = 42;
> ud1test->string = g_strdup("hi there 42");
>
> qapi_free_UserDefOne(ud1test);
>
> - ud1a = g_malloc0(sizeof(UserDefOne));
> + ud1a = g_new0(UserDefOne, 1);
> ud1a->integer = 43;
> ud1a->string = g_strdup("hi there 43");
>
> - ud1b = g_malloc0(sizeof(UserDefOne));
> + ud1b = g_new0(UserDefOne, 1);
> ud1b->integer = 44;
> ud1b->string = g_strdup("hi there 44");
>
> - ud1list = g_malloc0(sizeof(UserDefOneList));
> + ud1list = g_new0(UserDefOneList, 1);
> ud1list->value = ud1a;
> - ud1list->next = g_malloc0(sizeof(UserDefOneList));
> + ud1list->next = g_new0(UserDefOneList, 1);
> ud1list->next->value = ud1b;
>
> qapi_free_UserDefOneList(ud1list);
Could squash together with PATCH 79 and call the result "monitor: Use
g_new() family of functions".
- [Qemu-devel] [PATCH 24/88] MIPS: use g_new() family of functions, (continued)
- [Qemu-devel] [PATCH 24/88] MIPS: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- [Qemu-devel] [PATCH 25/88] OpenRISC: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- [Qemu-devel] [PATCH 26/88] S390: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- [Qemu-devel] [PATCH 27/88] SH4: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- [Qemu-devel] [PATCH 28/88] disas: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- [Qemu-devel] [PATCH 29/88] SPARC: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- [Qemu-devel] [PATCH 30/88] QEMU Guest Agent: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- [Qemu-devel] [PATCH 31/88] QMP: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- Re: [Qemu-devel] [PATCH 31/88] QMP: use g_new() family of functions,
Markus Armbruster <=
- [Qemu-devel] [PATCH 32/88] QObject: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- [Qemu-devel] [PATCH 33/88] qom: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- [Qemu-devel] [PATCH 34/88] qapi: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- [Qemu-devel] [PATCH 35/88] Record/replay: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- [Qemu-devel] [PATCH 36/88] SLIRP: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06
- [Qemu-devel] [PATCH 37/88] TCG: use g_new() family of functions, Philippe Mathieu-Daudé, 2017/10/06