>From 41436452357983a35d2280d04be3fad269928a72 Mon Sep 17 00:00:00 2001 From: Aadhya R <[email protected]> Date: Sun, 15 Mar 2026 12:27:39 +0000 Subject: [PATCH v2] disas/sparc: Fix integer overflow and convert to g_malloc To: [email protected] Cc: [email protected], [email protected]
Replace standard C allocators with GLib functions to safely handle out-of-memory aborts. Also change '1 << i' to '1ul << i' to prevent undefined behavior when shifting into the sign bit. Resolves SVACE warning and GitLab issue #1798. Signed-off-by: Aadhya R <[email protected]> --- disas/sparc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/disas/sparc.c b/disas/sparc.c index 40c1164554..702409a118 100644 --- a/disas/sparc.c +++ b/disas/sparc.c @@ -2623,7 +2623,7 @@ build_hash_table (const sparc_opcode **opcode_table, memset (hash_table, 0, HASH_SIZE * sizeof (hash_table[0])); memset (hash_count, 0, HASH_SIZE * sizeof (hash_count[0])); free(hash_buf); - hash_buf = malloc (sizeof (* hash_buf) * num_opcodes); + hash_buf = g_malloc(sizeof(*hash_buf) * num_opcodes); for (i = num_opcodes - 1; i >= 0; --i) { int hash = HASH_INSN (opcode_table[i]->match); @@ -2685,7 +2685,7 @@ print_insn_sparc (bfd_vma memaddr, disassemble_info *info) if (!opcodes_initialized) sorted_opcodes = - malloc (sparc_num_opcodes * sizeof (sparc_opcode *)); + g_malloc(sparc_num_opcodes * sizeof(sparc_opcode *)); /* Reset the sorted table so we can resort it. */ for (i = 0; i < sparc_num_opcodes; ++i) sorted_opcodes[i] = &sparc_opcodes[i]; -- 2.43.0
