Commit 520a02f8 authored by Stefan Weil's avatar Stefan Weil Committed by Edgar E. Iglesias
Browse files

cris-dis: Clean memory allocation



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: default avatarStefan Weil <sw@weilnetz.de>
Signed-off-by: default avatarEdgar E. Iglesias <edgar.iglesias@gmail.com>
parent cd9244e4
Loading
Loading
Loading
Loading
+6 −28
Original line number Diff line number Diff line
@@ -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.