* [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
@ 2015-09-14 11:53 Markus Armbruster
2015-09-14 15:51 ` Eric Blake
2015-09-24 7:06 ` Markus Armbruster
0 siblings, 2 replies; 7+ messages in thread
From: Markus Armbruster @ 2015-09-14 11:53 UTC (permalink / raw)
To: qemu-devel; +Cc: riku.voipio
g_new(T, n) is neater than g_malloc(sizeof(T) * n). It's also safer,
for two reasons. One, it catches multiplication overflowing size_t.
Two, it returns T * rather than void *, which lets the compiler catch
more type errors.
This commit only touches allocations with size arguments of the form
sizeof(T). Same Coccinelle semantic patchas in commit b45c03f.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
linux-user/elfload.c | 2 +-
linux-user/main.c | 2 +-
linux-user/syscall.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index eca0c7f..6584f0b 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -2848,7 +2848,7 @@ static int fill_note_info(struct elf_note_info *info,
TaskState *ts = (TaskState *)cpu->opaque;
int i;
- info->notes = g_malloc0(NUMNOTES * sizeof (struct memelfnote));
+ info->notes = g_new0(struct memelfnote, NUMNOTES);
if (info->notes == NULL)
return (-ENOMEM);
info->prstatus = g_malloc0(sizeof (*info->prstatus));
diff --git a/linux-user/main.c b/linux-user/main.c
index 829ee64..1ff821d 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -4014,7 +4014,7 @@ int main(int argc, char **argv, char **envp)
}
target_argv[target_argc] = NULL;
- ts = g_malloc0 (sizeof(TaskState));
+ ts = g_new0(TaskState, 1);
init_task_state(ts);
/* build Task State */
ts->info = info;
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index c0fabf7..60c62b8 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4560,7 +4560,7 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
new_thread_info info;
pthread_attr_t attr;
- ts = g_malloc0(sizeof(TaskState));
+ ts = g_new0(TaskState, 1);
init_task_state(ts);
/* we create a new CPU instance. */
new_env = cpu_copy(env);
--
2.4.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
2015-09-14 11:53 [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense Markus Armbruster
@ 2015-09-14 15:51 ` Eric Blake
2015-09-14 16:08 ` Eric Blake
2015-09-24 7:06 ` Markus Armbruster
1 sibling, 1 reply; 7+ messages in thread
From: Eric Blake @ 2015-09-14 15:51 UTC (permalink / raw)
To: Markus Armbruster, qemu-devel; +Cc: riku.voipio
[-- Attachment #1: Type: text/plain, Size: 806 bytes --]
On 09/14/2015 05:53 AM, Markus Armbruster wrote:
> g_new(T, n) is neater than g_malloc(sizeof(T) * n). It's also safer,
> for two reasons. One, it catches multiplication overflowing size_t.
> Two, it returns T * rather than void *, which lets the compiler catch
> more type errors.
>
> This commit only touches allocations with size arguments of the form
> sizeof(T). Same Coccinelle semantic patchas in commit b45c03f.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> linux-user/elfload.c | 2 +-
> linux-user/main.c | 2 +-
> linux-user/syscall.c | 2 +-
> 3 files changed, 3 insertions(+), 3 deletions(-)
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
2015-09-14 15:51 ` Eric Blake
@ 2015-09-14 16:08 ` Eric Blake
0 siblings, 0 replies; 7+ messages in thread
From: Eric Blake @ 2015-09-14 16:08 UTC (permalink / raw)
To: Markus Armbruster, qemu-devel; +Cc: riku.voipio
[-- Attachment #1: Type: text/plain, Size: 896 bytes --]
On 09/14/2015 09:51 AM, Eric Blake wrote:
> On 09/14/2015 05:53 AM, Markus Armbruster wrote:
>> g_new(T, n) is neater than g_malloc(sizeof(T) * n). It's also safer,
>> for two reasons. One, it catches multiplication overflowing size_t.
>> Two, it returns T * rather than void *, which lets the compiler catch
>> more type errors.
>>
>> This commit only touches allocations with size arguments of the form
>> sizeof(T). Same Coccinelle semantic patchas in commit b45c03f.
s/patchas/patch as/
>>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>> linux-user/elfload.c | 2 +-
>> linux-user/main.c | 2 +-
>> linux-user/syscall.c | 2 +-
>> 3 files changed, 3 insertions(+), 3 deletions(-)
>
> Reviewed-by: Eric Blake <eblake@redhat.com>
>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
2015-09-14 11:53 [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense Markus Armbruster
2015-09-14 15:51 ` Eric Blake
@ 2015-09-24 7:06 ` Markus Armbruster
2015-09-24 7:18 ` Stefan Weil
1 sibling, 1 reply; 7+ messages in thread
From: Markus Armbruster @ 2015-09-24 7:06 UTC (permalink / raw)
To: qemu-devel; +Cc: riku.voipio
Ping?
Markus Armbruster <armbru@redhat.com> writes:
> g_new(T, n) is neater than g_malloc(sizeof(T) * n). It's also safer,
> for two reasons. One, it catches multiplication overflowing size_t.
> Two, it returns T * rather than void *, which lets the compiler catch
> more type errors.
>
> This commit only touches allocations with size arguments of the form
> sizeof(T). Same Coccinelle semantic patchas in commit b45c03f.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> linux-user/elfload.c | 2 +-
> linux-user/main.c | 2 +-
> linux-user/syscall.c | 2 +-
> 3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/linux-user/elfload.c b/linux-user/elfload.c
> index eca0c7f..6584f0b 100644
> --- a/linux-user/elfload.c
> +++ b/linux-user/elfload.c
> @@ -2848,7 +2848,7 @@ static int fill_note_info(struct elf_note_info *info,
> TaskState *ts = (TaskState *)cpu->opaque;
> int i;
>
> - info->notes = g_malloc0(NUMNOTES * sizeof (struct memelfnote));
> + info->notes = g_new0(struct memelfnote, NUMNOTES);
> if (info->notes == NULL)
> return (-ENOMEM);
> info->prstatus = g_malloc0(sizeof (*info->prstatus));
> diff --git a/linux-user/main.c b/linux-user/main.c
> index 829ee64..1ff821d 100644
> --- a/linux-user/main.c
> +++ b/linux-user/main.c
> @@ -4014,7 +4014,7 @@ int main(int argc, char **argv, char **envp)
> }
> target_argv[target_argc] = NULL;
>
> - ts = g_malloc0 (sizeof(TaskState));
> + ts = g_new0(TaskState, 1);
> init_task_state(ts);
> /* build Task State */
> ts->info = info;
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index c0fabf7..60c62b8 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -4560,7 +4560,7 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
> new_thread_info info;
> pthread_attr_t attr;
>
> - ts = g_malloc0(sizeof(TaskState));
> + ts = g_new0(TaskState, 1);
> init_task_state(ts);
> /* we create a new CPU instance. */
> new_env = cpu_copy(env);
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
2015-09-24 7:06 ` Markus Armbruster
@ 2015-09-24 7:18 ` Stefan Weil
2015-09-24 16:19 ` Markus Armbruster
2015-10-03 17:07 ` Michael Tokarev
0 siblings, 2 replies; 7+ messages in thread
From: Stefan Weil @ 2015-09-24 7:18 UTC (permalink / raw)
To: Markus Armbruster, qemu-devel, QEMU Trivial; +Cc: riku.voipio
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Am 24.09.2015 um 09:06 schrieb Markus Armbruster:
> Ping?
>
> Markus Armbruster <armbru@redhat.com> writes:
>
>> g_new(T, n) is neater than g_malloc(sizeof(T) * n). It's also
>> safer, for two reasons. One, it catches multiplication
>> overflowing size_t. Two, it returns T * rather than void *,
>> which lets the compiler catch more type errors.
>>
>> This commit only touches allocations with size arguments of the
>> form sizeof(T). Same Coccinelle semantic patchas in commit
>> b45c03f.
>>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com> ---
>> linux-user/elfload.c | 2 +- linux-user/main.c | 2 +-
>> linux-user/syscall.c | 2 +- 3 files changed, 3 insertions(+), 3
>> deletions(-)
Reviewed-by: Stefan Weil <sw@weilnetz.de>
This patch is trivial enough for qemu-trivial.
As Eric has written, the commit message needs
a small correction: s/patchas/patch as/
Regards
Stefan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBCAAGBQJWA6OuAAoJEOCMIdVndFCt6Q8P/R6kKihtOvr17lL3Av117n1z
YPv6Tfa9jy1fd3qaeIMhXgm63CNTWTGU4o0A9/k3thqiD9kYVpqeZkd7gt1gE6uU
QR/eReEMZNr+5AnkYnCmZ8wr5upd4RWUjCvbGSUpFgb1ui+VtwZ08XzCVehQfY39
2S6EWxR/I7ETxzue+AFZak9w4QqVF7IQmw7CPkeTCD/himdCpyeGxL9dYQnyfEdW
mQeXUR2eipaqwIt1b6JkwQCU78rY2D/OLVDipZK9M4BSmJQWS2BsLboc+VC59bN9
JkVrKgSbuciqBMXDudY71qv9XO/wyM8MwnDM5GY7V9N1PoRVcg2mvSCRKq9lP82K
V0Sb6n1j9/AgM3ngnLZqkiVYkeFrnccIkiKCJvmDnDP1ClC8Cy5V1wkPzk7TJgTK
4xvuI3kfWPIzbphWzZtcCstJKYaO5ydrEGGNGko37A6s65oE+gIhyrv/KSIhix+H
n7KMOILY4wuk7UYoIgK6cvKL6QsVyhw0lR+RIR8p33ofAj20HylQng38h6spr50F
XTl3J38ApbyxNhw+EJHXXwj14YJFrZTwN8C0X49UHkSD4wqR4lH+2kdNUYIYJJHR
Zx+HkJj/8hLQq14WjtgZlNQ7noAck/yh9Rvyu54v6yfx1RAhNkDbiysQKgqkWzNM
U5ro2khoY2BrI7Bdq29H
=/Z+4
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
2015-09-24 7:18 ` Stefan Weil
@ 2015-09-24 16:19 ` Markus Armbruster
2015-10-03 17:07 ` Michael Tokarev
1 sibling, 0 replies; 7+ messages in thread
From: Markus Armbruster @ 2015-09-24 16:19 UTC (permalink / raw)
To: Stefan Weil; +Cc: QEMU Trivial, riku.voipio, qemu-devel
Stefan Weil <sw@weilnetz.de> writes:
> Am 24.09.2015 um 09:06 schrieb Markus Armbruster:
>> Ping?
>>
>> Markus Armbruster <armbru@redhat.com> writes:
>>
>>> g_new(T, n) is neater than g_malloc(sizeof(T) * n). It's also
>>> safer, for two reasons. One, it catches multiplication
>>> overflowing size_t. Two, it returns T * rather than void *,
>>> which lets the compiler catch more type errors.
>>>
>>> This commit only touches allocations with size arguments of the
>>> form sizeof(T). Same Coccinelle semantic patchas in commit
>>> b45c03f.
>>>
>>> Signed-off-by: Markus Armbruster <armbru@redhat.com> ---
>>> linux-user/elfload.c | 2 +- linux-user/main.c | 2 +-
>>> linux-user/syscall.c | 2 +- 3 files changed, 3 insertions(+), 3
>>> deletions(-)
>
> Reviewed-by: Stefan Weil <sw@weilnetz.de>
>
> This patch is trivial enough for qemu-trivial.
I guess it is. For code with a maintainer, I tend to try the maintainer
first.
> As Eric has written, the commit message needs
> a small correction: s/patchas/patch as/
Yes.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
2015-09-24 7:18 ` Stefan Weil
2015-09-24 16:19 ` Markus Armbruster
@ 2015-10-03 17:07 ` Michael Tokarev
1 sibling, 0 replies; 7+ messages in thread
From: Michael Tokarev @ 2015-10-03 17:07 UTC (permalink / raw)
To: Stefan Weil, Markus Armbruster, qemu-devel, QEMU Trivial; +Cc: riku.voipio
24.09.2015 10:18, Stefan Weil wrote:
> Am 24.09.2015 um 09:06 schrieb Markus Armbruster:
>> Ping?
>
>> Markus Armbruster <armbru@redhat.com> writes:
>
>>> g_new(T, n) is neater than g_malloc(sizeof(T) * n). It's also
>>> safer, for two reasons. One, it catches multiplication
>>> overflowing size_t. Two, it returns T * rather than void *,
>>> which lets the compiler catch more type errors.
Applied to -trivial, with a trivial commit message fix.
Thanks!
/mjt
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-10-03 17:07 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-14 11:53 [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense Markus Armbruster
2015-09-14 15:51 ` Eric Blake
2015-09-14 16:08 ` Eric Blake
2015-09-24 7:06 ` Markus Armbruster
2015-09-24 7:18 ` Stefan Weil
2015-09-24 16:19 ` Markus Armbruster
2015-10-03 17:07 ` Michael Tokarev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).