diff options
author | Sergei Trofimovich <slyich@gmail.com> | 2023-11-02 19:58:46 +0000 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2023-11-03 00:19:53 +0100 |
commit | fb232b56ca4dc37a70fd4e581a0fc2c56dda5e0a (patch) | |
tree | e839d05d99f850001a302bf4e51a5878b8582727 | |
parent | 6902b610939fbe15887905a0e2390c2f46cb1eb9 (diff) |
libelf/elf_newscn.c: fix build failure against gcc-14 (-Walloc-size)upstream/master
`gcc-14` adde a new -Walloc-size warning that makes sure that size of an
individual element matches size of a pointed type:
https://gcc.gnu.org/PR71219
`elfutils` triggers is on `calloc()` call where member size is sued as
`1`.
elf_newscn.c: In function `elf_newscn`:
elf_newscn.c:97:12: error: allocation of insufficient size «1» for type «Elf_ScnList» with size «16» [-Werror=alloc-size]
97 | newp = calloc (sizeof (Elf_ScnList)
| ^
The change swaps arguments to pass larger value as a member size.
Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
-rw-r--r-- | libelf/elf_newscn.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libelf/elf_newscn.c b/libelf/elf_newscn.c index d6bdf153..ec731f75 100644 --- a/libelf/elf_newscn.c +++ b/libelf/elf_newscn.c @@ -94,9 +94,9 @@ elf_newscn (Elf *elf) 1 #endif ) - newp = calloc (sizeof (Elf_ScnList) - + ((elf->state.elf.scnincr *= 2) - * sizeof (Elf_Scn)), 1); + newp = calloc (1, sizeof (Elf_ScnList) + + ((elf->state.elf.scnincr *= 2) + * sizeof (Elf_Scn))); if (newp == NULL) { __libelf_seterrno (ELF_E_NOMEM); |