opcodes: tic4x_disassemble swap xcalloc arguments

Message ID 20240121210142.568900-1-mark@klomp.org
State Accepted
Headers
Series opcodes: tic4x_disassemble swap xcalloc arguments |

Checks

Context Check Description
snail/binutils-gdb-check success Github commit url

Commit Message

Mark Wielaard Jan. 21, 2024, 9:01 p.m. UTC
  GCC 14 will detect when the size and count arguments of calloc are
swapped.

binutils-gdb/opcodes/tic4x-dis.c: In function ‘tic4x_disassemble’:
binutils-gdb/opcodes/tic4x-dis.c:710:32: error: ‘xcalloc’ sizes specified with ‘sizeof’ in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
  710 |       optab = xcalloc (sizeof (tic4x_inst_t *), (1 << TIC4X_HASH_SIZE));
      |                                ^~~~~~~~~~~~
binutils-gdb/opcodes/tic4x-dis.c:710:32: note: earlier argument should specify number of elements, later size of each element
binutils-gdb/opcodes/tic4x-dis.c:712:40: error: ‘xcalloc’ sizes specified with ‘sizeof’ in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
  712 |       optab_special = xcalloc (sizeof (tic4x_inst_t *), TIC4X_SPESOP_SIZE);
      |                                        ^~~~~~~~~~~~
binutils-gdb/opcodes/tic4x-dis.c:712:40: note: earlier argument should specify number of elements, later size of each element

opcodes/ChangeLog:

	* /tic4x-dis.c (tic4x_disassemble): Swap size and count xcalloc
	arguments.
---
 opcodes/tic4x-dis.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Nick Clifton Jan. 22, 2024, 5:14 p.m. UTC | #1
Hi Mark,

> GCC 14 will detect when the size and count arguments of calloc are
> swapped.

Crikey these compilers are getting smart.

> opcodes/ChangeLog:
> 
> 	* /tic4x-dis.c (tic4x_disassemble): Swap size and count xcalloc
> 	arguments.

Approved - please apply.

Cheers
   Nick
  

Patch

diff --git a/opcodes/tic4x-dis.c b/opcodes/tic4x-dis.c
index 49de510981b..0c703ecf08a 100644
--- a/opcodes/tic4x-dis.c
+++ b/opcodes/tic4x-dis.c
@@ -707,9 +707,9 @@  tic4x_disassemble (unsigned long pc,
 
   if (optab == NULL)
     {
-      optab = xcalloc (sizeof (tic4x_inst_t *), (1 << TIC4X_HASH_SIZE));
+      optab = xcalloc ((1 << TIC4X_HASH_SIZE), sizeof (tic4x_inst_t *));
 
-      optab_special = xcalloc (sizeof (tic4x_inst_t *), TIC4X_SPESOP_SIZE);
+      optab_special = xcalloc (TIC4X_SPESOP_SIZE, sizeof (tic4x_inst_t *));
 
       /* Install opcodes in reverse order so that preferred
 	 forms overwrite synonyms.  */