From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48661) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZbVGj-0004gs-R7 for qemu-devel@nongnu.org; Mon, 14 Sep 2015 11:02:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZbVGi-0001cx-QX for qemu-devel@nongnu.org; Mon, 14 Sep 2015 11:02:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52091) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZbVGi-0001ct-Jt for qemu-devel@nongnu.org; Mon, 14 Sep 2015 11:02:08 -0400 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 3D877AACCA for ; Mon, 14 Sep 2015 15:02:08 +0000 (UTC) References: <1442231643-23630-1-git-send-email-armbru@redhat.com> From: Paolo Bonzini Message-ID: <55F6E16B.3070305@redhat.com> Date: Mon, 14 Sep 2015 17:02:03 +0200 MIME-Version: 1.0 In-Reply-To: <1442231643-23630-1-git-send-email-armbru@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] qemu-char: Use g_new() & friends where that makes obvious sense List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster , qemu-devel@nongnu.org On 14/09/2015 13:54, 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 > --- > backends/testdev.c | 4 ++-- > qemu-char.c | 22 +++++++++++----------- > 2 files changed, 13 insertions(+), 13 deletions(-) > > diff --git a/backends/testdev.c b/backends/testdev.c > index eba396a..1429152 100644 > --- a/backends/testdev.c > +++ b/backends/testdev.c > @@ -113,8 +113,8 @@ CharDriverState *chr_testdev_init(void) > TestdevCharState *testdev; > CharDriverState *chr; > > - testdev = g_malloc0(sizeof(TestdevCharState)); > - testdev->chr = chr = g_malloc0(sizeof(CharDriverState)); > + testdev = g_new0(TestdevCharState, 1); > + testdev->chr = chr = g_new0(CharDriverState, 1); > > chr->opaque = testdev; > chr->chr_write = testdev_write; > diff --git a/qemu-char.c b/qemu-char.c > index dd83203..653ea10 100644 > --- a/qemu-char.c > +++ b/qemu-char.c > @@ -685,7 +685,7 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv) > MuxDriver *d; > > chr = qemu_chr_alloc(); > - d = g_malloc0(sizeof(MuxDriver)); > + d = g_new0(MuxDriver, 1); > > chr->opaque = d; > d->drv = drv; > @@ -1064,7 +1064,7 @@ static CharDriverState *qemu_chr_open_fd(int fd_in, int fd_out) > FDCharDriver *s; > > chr = qemu_chr_alloc(); > - s = g_malloc0(sizeof(FDCharDriver)); > + s = g_new0(FDCharDriver, 1); > s->fd_in = io_channel_from_fd(fd_in); > s->fd_out = io_channel_from_fd(fd_out); > qemu_set_nonblock(fd_out); > @@ -1413,7 +1413,7 @@ static CharDriverState *qemu_chr_open_pty(const char *id, > fprintf(stderr, "char device redirected to %s (label %s)\n", > pty_name, id); > > - s = g_malloc0(sizeof(PtyCharDriver)); > + s = g_new0(PtyCharDriver, 1); > chr->opaque = s; > chr->chr_write = pty_chr_write; > chr->chr_update_read_handler = pty_chr_update_read_handler; > @@ -1762,7 +1762,7 @@ static CharDriverState *qemu_chr_open_pp_fd(int fd) > return NULL; > } > > - drv = g_malloc0(sizeof(ParallelCharDriver)); > + drv = g_new0(ParallelCharDriver, 1); > drv->fd = fd; > drv->mode = IEEE1284_MODE_COMPAT; > > @@ -2050,7 +2050,7 @@ static CharDriverState *qemu_chr_open_win_path(const char *filename) > WinCharState *s; > > chr = qemu_chr_alloc(); > - s = g_malloc0(sizeof(WinCharState)); > + s = g_new0(WinCharState, 1); > chr->opaque = s; > chr->chr_write = win_chr_write; > chr->chr_close = win_chr_close; > @@ -2149,7 +2149,7 @@ static CharDriverState *qemu_chr_open_pipe(ChardevHostdev *opts) > WinCharState *s; > > chr = qemu_chr_alloc(); > - s = g_malloc0(sizeof(WinCharState)); > + s = g_new0(WinCharState, 1); > chr->opaque = s; > chr->chr_write = win_chr_write; > chr->chr_close = win_chr_close; > @@ -2168,7 +2168,7 @@ static CharDriverState *qemu_chr_open_win_file(HANDLE fd_out) > WinCharState *s; > > chr = qemu_chr_alloc(); > - s = g_malloc0(sizeof(WinCharState)); > + s = g_new0(WinCharState, 1); > s->hcom = fd_out; > chr->opaque = s; > chr->chr_write = win_chr_write; > @@ -2324,7 +2324,7 @@ static CharDriverState *qemu_chr_open_stdio(ChardevStdio *opts) > int is_console = 0; > > chr = qemu_chr_alloc(); > - stdio = g_malloc0(sizeof(WinStdioCharState)); > + stdio = g_new0(WinStdioCharState, 1); > > stdio->hStdIn = GetStdHandle(STD_INPUT_HANDLE); > if (stdio->hStdIn == INVALID_HANDLE_VALUE) { > @@ -2487,7 +2487,7 @@ static CharDriverState *qemu_chr_open_udp_fd(int fd) > NetCharDriver *s = NULL; > > chr = qemu_chr_alloc(); > - s = g_malloc0(sizeof(NetCharDriver)); > + s = g_new0(NetCharDriver, 1); > > s->fd = fd; > s->chan = io_channel_from_socket(s->fd); > @@ -2713,7 +2713,7 @@ static int tcp_set_msgfds(CharDriverState *chr, int *fds, int num) > g_free(s->write_msgfds); > > if (num) { > - s->write_msgfds = g_malloc(num * sizeof(int)); > + s->write_msgfds = g_new(int, num); > memcpy(s->write_msgfds, fds, num * sizeof(int)); > } > > @@ -4144,7 +4144,7 @@ static CharDriverState *qmp_chardev_open_socket(ChardevSocket *sock, > int64_t reconnect = sock->has_reconnect ? sock->reconnect : 0; > > chr = qemu_chr_alloc(); > - s = g_malloc0(sizeof(TCPCharDriver)); > + s = g_new0(TCPCharDriver, 1); > > s->fd = -1; > s->listen_fd = -1; > Thanks, applied locally (pull request will come later this week). Paolo