From: Sergei Trofimovich Date: Thu, 2 Nov 2023 19:58:46 +0000 (+0000) Subject: libelf/elf_newscn.c: fix build failure against gcc-14 (-Walloc-size) X-Git-Tag: elfutils-0.190~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fb232b56ca4dc37a70fd4e581a0fc2c56dda5e0a;p=thirdparty%2Felfutils.git libelf/elf_newscn.c: fix build failure against gcc-14 (-Walloc-size) `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 --- diff --git a/libelf/elf_newscn.c b/libelf/elf_newscn.c index d6bdf1536..ec731f759 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);