From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:42899) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RkJsr-0001Vn-Ss for qemu-devel@nongnu.org; Mon, 09 Jan 2012 13:23:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RkJsn-0001As-Hb for qemu-devel@nongnu.org; Mon, 09 Jan 2012 13:23:49 -0500 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:51248) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RkJsn-0001Ag-Br for qemu-devel@nongnu.org; Mon, 09 Jan 2012 13:23:45 -0500 From: Stefan Weil Date: Mon, 9 Jan 2012 19:23:42 +0100 Message-Id: <1326133422-1106-1-git-send-email-sw@weilnetz.de> Subject: [Qemu-devel] [PATCH] cris-dis: Clean memory allocation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: "Edgar E. Iglesias" , Stefan Weil The old code used sizeof(const struct cris_opcode **) where it should have used sizeof(const struct cris_opcode *). As both sizes give the same value, the resulting binary was ok, but static code analyzers like coverity and clang complained. This is fixed here, and the code is also simplified by using g_new0. Signed-off-by: Stefan Weil --- cris-dis.c | 34 ++++++---------------------------- 1 files changed, 6 insertions(+), 28 deletions(-) diff --git a/cris-dis.c b/cris-dis.c index 5b8e90b..1d174ba 100644 --- a/cris-dis.c +++ b/cris-dis.c @@ -1396,34 +1396,12 @@ get_opcode_entry (unsigned int insn, /* Allocate and clear the opcode-table. */ if (opc_table == NULL) { - opc_table = g_malloc (65536 * sizeof (opc_table[0])); - - memset (opc_table, 0, 65536 * sizeof (const struct cris_opcode *)); - - dip_prefixes - = g_malloc (65536 * sizeof (const struct cris_opcode **)); - - memset (dip_prefixes, 0, 65536 * sizeof (dip_prefixes[0])); - - bdapq_m1_prefixes - = g_malloc (65536 * sizeof (const struct cris_opcode **)); - - memset (bdapq_m1_prefixes, 0, 65536 * sizeof (bdapq_m1_prefixes[0])); - - bdapq_m2_prefixes - = g_malloc (65536 * sizeof (const struct cris_opcode **)); - - memset (bdapq_m2_prefixes, 0, 65536 * sizeof (bdapq_m2_prefixes[0])); - - bdapq_m4_prefixes - = g_malloc (65536 * sizeof (const struct cris_opcode **)); - - memset (bdapq_m4_prefixes, 0, 65536 * sizeof (bdapq_m4_prefixes[0])); - - rest_prefixes - = g_malloc (65536 * sizeof (const struct cris_opcode **)); - - memset (rest_prefixes, 0, 65536 * sizeof (rest_prefixes[0])); + opc_table = g_new0(const struct cris_opcode *, 65536); + dip_prefixes = g_new0(const struct cris_opcode *, 65536); + bdapq_m1_prefixes = g_new0(const struct cris_opcode *, 65536); + bdapq_m2_prefixes = g_new0(const struct cris_opcode *, 65536); + bdapq_m4_prefixes = g_new0(const struct cris_opcode *, 65536); + rest_prefixes = g_new0(const struct cris_opcode *, 65536); } /* Get the right table if this is a prefix. -- 1.7.2.5