![]() |
|
Message-ID: <jf5jralawp5lmjqcdfqf2jblg2z43vjbkdx3eapjumjsccw6yv@pzm2cxgfnpw3>
Date: Thu, 19 Jun 2025 14:53:45 +0200
From: Alejandro Colomar <alx@...nel.org>
To: Vincent Lefevre <vincent@...c17.net>, Rich Felker <dalias@...c.org>,
linux-man@...r.kernel.org, musl@...ts.openwall.com, libc-alpha@...rceware.org,
Paul Eggert <eggert@...ucla.edu>, Bruno Haible <bruno@...sp.org>, bug-gnulib@....org
Subject: Re: malloc.3: Clarify realloc(3) standards conformance
Hi Vincent,
On Thu, Jun 19, 2025 at 02:36:13PM +0200, Vincent Lefevre wrote:
> On 2025-06-19 12:54:52 +0200, Alejandro Colomar wrote:
> > +BUGS
> > + Programmers would naturally expect that realloc(p, n) is consis‐
> > + tent with free(p) and malloc(n). This is not explicitly re‐
> > + quired by POSIX.1‐2024, but all conforming implementations are
> > + consistent with that.
> > +
> > + The glibc implementation of realloc() is not consistent with
> > + that, and as a consequence, it is dangerous to call
> > + realloc(p, 0) in glibc.
> > +
> > + A trivial workaround for glibc is calling it as
> > + realloc(p, n?:1).
>
> n?:1 is a GNU extension:
>
> warning: ISO C forbids omitting the middle term of a ‘?:’ expression [-Wpedantic]
>
> with gcc -pedantic -std=c23, and such code should not be given in
> examples (as a workaround should still be valid for portable code).
Hmmm, I guess I can write it as n?n:1.
I'll write a proposal to standardize ?: in ISO C too.
Have a lovely day!
Alex
--
<https://www.alejandro-colomar.es/>
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.