reallocarray
------------

Documentation:

  * Changing the Size of a Block (libc),

  * man reallocarray.

Gnulib module: reallocarray

Allocate multiple memory locations of a fixed size with integer overflow protection. Glibc Manual: https://www.gnu.org/software/libc/manual/html_node/Changing-Block-Size.html#Changing-Block-Size

Portability problems fixed by Gnulib:

  * This function is missing on many platforms: glibc 2.25, macOS 11.1, FreeBSD 10, NetBSD 7, OpenBSD 5.5, Minix 3.3.0, AIX 7.2, HP-UX 11, IRIX, Solaris 11.4, Cygwin 1.7.x, mingw, MSVC 14, Android 9.0.

  * On some platforms, reallocarray (n, s) can succeed even if multiplying n by s would exceed PTRDIFF_MAX, which can lead to undefined behavior later: FreeBSD 13, NetBSD 9, OpenBSD 6, musl 1.2.

Portability problems not fixed by Gnulib: