Skip to content

Commit

Permalink
linux-user: Use g_new() & friends where that makes obvious sense
Browse files Browse the repository at this point in the history
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 patch as in commit b45c03f.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
  • Loading branch information
Markus Armbruster authored and Michael Tokarev committed Oct 8, 2015
1 parent 778358d commit c78d65e
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion linux-user/elfload.c
Expand Up @@ -2853,7 +2853,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));
Expand Down
2 changes: 1 addition & 1 deletion linux-user/main.c
Expand Up @@ -4270,7 +4270,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;
Expand Down
2 changes: 1 addition & 1 deletion linux-user/syscall.c
Expand Up @@ -4566,7 +4566,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);
Expand Down

0 comments on commit c78d65e

Please sign in to comment.