tests: fix build against upcoming `gcc-14` (`-Werror=calloc-transposed-args`)

Message ID 20231221092330.1419516-1-slyich@gmail.com
State Committed
Headers
Series tests: fix build against upcoming `gcc-14` (`-Werror=calloc-transposed-args`) |

Commit Message

Sergei Trofimovich Dec. 21, 2023, 9:23 a.m. UTC
  `gcc-14` added a new `-Wcalloc-transposed-args` warning recently. It
detected minor infelicity in `calloc()` API usage in `elfutils`:

    elfstrmerge.c: In function 'main':
    elfstrmerge.c:450:32: error:
      'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
      450 |   newscnbufs = calloc (sizeof (void *), newshnums);
          |                                ^~~~
    elfstrmerge.c:450:32: note: earlier argument should specify number of elements, later size of each element

Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
---
 tests/elfstrmerge.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Mark Wielaard Dec. 21, 2023, 9:23 p.m. UTC | #1
Hi Sergei,

On Thu, 2023-12-21 at 09:23 +0000, Sergei Trofimovich wrote:
> `gcc-14` added a new `-Wcalloc-transposed-args` warning recently. It
> detected minor infelicity in `calloc()` API usage in `elfutils`:
> 
>     elfstrmerge.c: In function 'main':
>     elfstrmerge.c:450:32: error:
>       'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
>       450 |   newscnbufs = calloc (sizeof (void *), newshnums);
>           |                                ^~~~
>     elfstrmerge.c:450:32: note: earlier argument should specify number of elements, later size of each element
> 

Thanks, looks good. Pushed.

Cheers,

Mark
  

Patch

diff --git a/tests/elfstrmerge.c b/tests/elfstrmerge.c
index 56350bb9..4eb58bbb 100644
--- a/tests/elfstrmerge.c
+++ b/tests/elfstrmerge.c
@@ -447,7 +447,7 @@  main (int argc, char **argv)
     }
 
   newshnums = shdrnum - 1;
-  newscnbufs = calloc (sizeof (void *), newshnums);
+  newscnbufs = calloc (newshnums, sizeof (void *));
   if (newscnbufs == NULL)
     fail_errno ("Couldn't allocate memory for new section buffers", NULL);