os: replace xallocarray() by calloc()

Only key difference that calloc(), in contrast to rellocarray(),
is zero-initializing. The overhead is hard to measure on today's
machines, and it's safer programming practise to always allocate
zero-initialized, so one can't forget to do it explicitly.

Cocci rule:

    @@
    expression COUNT;
    expression LEN;
    @@
    - xallocarray(COUNT,LEN)
    + calloc(COUNT,LEN)

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
Enrico Weigelt, metux IT consult 2025-02-24 12:15:01 +01:00
parent 9a1c502865
commit a8f0e2801e

View File

@ -119,6 +119,8 @@ SOFTWARE.
#include "probes.h"
#include "xdmcp.h"
#define MAX_CONNECTIONS (2^16)
struct ospoll *server_poll;
Bool NewOutputPending; /* not yet attempted to write some new output */
@ -266,7 +268,12 @@ CreateWellKnownSockets(void)
LogSetDisplay();
}
ListenTransFds = xallocarray(ListenTransCount, sizeof (int));
if (ListenTransCount >= MAX_CONNECTIONS) {
FatalError ("Tried to clear too many listening sockets - OOM");
return; // mostly to keep GCC from complaining about too large alloc
}
ListenTransFds = calloc(ListenTransCount, sizeof(int));
if (ListenTransFds == NULL)
FatalError ("Failed to create listening socket array");