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). -- Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)