Re: [PATCH] libsemanage: fix src/genhomedircon.c build on `gcc-14` (`-Werror=alloc-size`)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 4, 2023 at 11:17 AM Sergei Trofimovich <slyich@xxxxxxxxx> wrote:
>
> `gcc-14` added 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
>
> `libsemanage` triggers it on `calloc()` calls where member size is used
> as `1` (instead of member count):
>
>     genhomedircon.c: In function 'ignore_setup':
>     genhomedircon.c:152:21:
>       error: allocation of insufficient size '1' for type 'ignoredir_t'
>         {aka 'struct IgnoreDir'} with size '16' [-Werror=alloc-size]
>       152 |                 ptr = calloc(sizeof(ignoredir_t),1);
>           |                     ^
>
> Signed-off-by: Sergei Trofimovich <slyich@xxxxxxxxx>

Acked-by: James Carter <jwcart2@xxxxxxxxx>

> ---
>  libsemanage/src/genhomedircon.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libsemanage/src/genhomedircon.c b/libsemanage/src/genhomedircon.c
> index 8f8774d3..66585987 100644
> --- a/libsemanage/src/genhomedircon.c
> +++ b/libsemanage/src/genhomedircon.c
> @@ -149,7 +149,7 @@ static int ignore_setup(char *ignoredirs) {
>
>         tok = strtok(ignoredirs, ";");
>         while(tok) {
> -               ptr = calloc(sizeof(ignoredir_t),1);
> +               ptr = calloc(1, sizeof(ignoredir_t));
>                 if (!ptr)
>                         goto err;
>                 ptr->dir = strdup(tok);
> --
> 2.42.0
>
>





[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux