Re: git: 2c709ee70ade - main - libc: handle zero alignment in memalign()

From: Ed Maste <emaste_at_freebsd.org>
Date: Mon, 27 Feb 2023 20:40:05 UTC
On Sat, 25 Feb 2023 at 17:29, Steffen Nurpmeso <steffen@sdaoden.eu> wrote:
>
> Ed Maste wrote in
>  <CAPyFy2A-dnbrivwZiFoJv4sYL9qyXvoZX2SK-bcd9pEdf30qQg@mail.gmail.com>:
>  |On Fri, 24 Feb 2023 at 20:27, Steffen Nurpmeso <steffen@sdaoden.eu> wrote:
>  |> Me too.  'Was just thinking of allocators which give back valid
>  |> but inaccessible memory for 0 bytes so that each access would
>  |> fault.
>  |
>  |The size is not (necessarily) zero though. The alignment requested is.
>
> I personally would fail EINVAL for 0: something really must be
> bogus if you reqest an alignment of 0.  The standard says
>
>   Upon successful completion, posix_memalign( ) shall return zero;

This is not posix_memalign, this is memalign which is provided for
glibc compatibility (and which accepts align == 0). This came up only
because Valgrind's tests triggered this case.