[PATCH v2] disas/sparc: Fix integer overflow and convert to g_malloc

AADHYA R <[email protected]>
Newsgroups org.nongnu.qemu-trivial,org.nongnu.qemu-devel
Message-ID <CABHAK8PF1U9LKO-7uem36N1Zw+H73ECLDhfHHrciN+4RvYMV_w@mail.gmail.com>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.