From dda64fcadf03af1683b9d80cb3a9572ccd532806 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Mon, 24 Feb 2025 12:15:01 +0100 Subject: [PATCH] xext: 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 --- Xext/hashtable.c | 4 ++-- Xext/panoramiXprocs.c | 18 +++++++++--------- Xext/saver.c | 2 +- Xext/sync.c | 4 ++-- Xext/vidmode.c | 6 +++--- Xext/xcmisc.c | 2 +- Xext/xf86bigfont.c | 4 ++-- Xext/xres.c | 2 +- Xext/xvmain.c | 2 +- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Xext/hashtable.c b/Xext/hashtable.c index d434969be..e136870c6 100644 --- a/Xext/hashtable.c +++ b/Xext/hashtable.c @@ -55,7 +55,7 @@ ht_create(int keySize, ht->elements = 0; ht->bucketBits = INITHASHSIZE; numBuckets = 1 << ht->bucketBits; - ht->buckets = xallocarray(numBuckets, sizeof(*ht->buckets)); + ht->buckets = calloc(numBuckets, sizeof(*ht->buckets)); ht->cdata = cdata; if (ht->buckets) { @@ -96,7 +96,7 @@ double_size(HashTable ht) int newNumBuckets = 1 << newBucketBits; int c; - newBuckets = xallocarray(newNumBuckets, sizeof(*ht->buckets)); + newBuckets = calloc(newNumBuckets, sizeof(*ht->buckets)); if (newBuckets) { for (c = 0; c < newNumBuckets; ++c) { xorg_list_init(&newBuckets[c]); diff --git a/Xext/panoramiXprocs.c b/Xext/panoramiXprocs.c index 8e885fbf6..2cff60990 100644 --- a/Xext/panoramiXprocs.c +++ b/Xext/panoramiXprocs.c @@ -1410,7 +1410,7 @@ PanoramiXPolyPoint(ClientPtr client) isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; npoint = bytes_to_int32((client->req_len << 2) - sizeof(xPolyPointReq)); if (npoint > 0) { - origPts = xallocarray(npoint, sizeof(xPoint)); + origPts = calloc(npoint, sizeof(xPoint)); memcpy((char *) origPts, (char *) &stuff[1], npoint * sizeof(xPoint)); FOR_NSCREENS_FORWARD(j) { @@ -1475,7 +1475,7 @@ PanoramiXPolyLine(ClientPtr client) isRoot = IS_ROOT_DRAWABLE(draw); npoint = bytes_to_int32((client->req_len << 2) - sizeof(xPolyLineReq)); if (npoint > 0) { - origPts = xallocarray(npoint, sizeof(xPoint)); + origPts = calloc(npoint, sizeof(xPoint)); memcpy((char *) origPts, (char *) &stuff[1], npoint * sizeof(xPoint)); FOR_NSCREENS_FORWARD(j) { @@ -1544,7 +1544,7 @@ PanoramiXPolySegment(ClientPtr client) return BadLength; nsegs >>= 3; if (nsegs > 0) { - origSegs = xallocarray(nsegs, sizeof(xSegment)); + origSegs = calloc(nsegs, sizeof(xSegment)); memcpy((char *) origSegs, (char *) &stuff[1], nsegs * sizeof(xSegment)); FOR_NSCREENS_FORWARD(j) { @@ -1612,7 +1612,7 @@ PanoramiXPolyRectangle(ClientPtr client) return BadLength; nrects >>= 3; if (nrects > 0) { - origRecs = xallocarray(nrects, sizeof(xRectangle)); + origRecs = calloc(nrects, sizeof(xRectangle)); memcpy((char *) origRecs, (char *) &stuff[1], nrects * sizeof(xRectangle)); FOR_NSCREENS_FORWARD(j) { @@ -1679,7 +1679,7 @@ PanoramiXPolyArc(ClientPtr client) return BadLength; narcs /= sizeof(xArc); if (narcs > 0) { - origArcs = xallocarray(narcs, sizeof(xArc)); + origArcs = calloc(narcs, sizeof(xArc)); memcpy((char *) origArcs, (char *) &stuff[1], narcs * sizeof(xArc)); FOR_NSCREENS_FORWARD(j) { @@ -1741,7 +1741,7 @@ PanoramiXFillPoly(ClientPtr client) count = bytes_to_int32((client->req_len << 2) - sizeof(xFillPolyReq)); if (count > 0) { - locPts = xallocarray(count, sizeof(DDXPointRec)); + locPts = calloc(count, sizeof(DDXPointRec)); memcpy((char *) locPts, (char *) &stuff[1], count * sizeof(DDXPointRec)); FOR_NSCREENS_FORWARD(j) { @@ -1810,7 +1810,7 @@ PanoramiXPolyFillRectangle(ClientPtr client) return BadLength; things >>= 3; if (things > 0) { - origRects = xallocarray(things, sizeof(xRectangle)); + origRects = calloc(things, sizeof(xRectangle)); memcpy((char *) origRects, (char *) &stuff[1], things * sizeof(xRectangle)); FOR_NSCREENS_FORWARD(j) { @@ -1877,7 +1877,7 @@ PanoramiXPolyFillArc(ClientPtr client) return BadLength; narcs /= sizeof(xArc); if (narcs > 0) { - origArcs = xallocarray(narcs, sizeof(xArc)); + origArcs = calloc(narcs, sizeof(xArc)); memcpy((char *) origArcs, (char *) &stuff[1], narcs * sizeof(xArc)); FOR_NSCREENS_FORWARD(j) { @@ -2063,7 +2063,7 @@ PanoramiXGetImage(ClientPtr client) if (linesPerBuf > h) linesPerBuf = h; } - if (!(pBuf = xallocarray(linesPerBuf, widthBytesLine))) + if (!(pBuf = calloc(linesPerBuf, widthBytesLine))) return BadAlloc; if (client->swapped) { diff --git a/Xext/saver.c b/Xext/saver.c index 10d77f217..41af98b8d 100644 --- a/Xext/saver.c +++ b/Xext/saver.c @@ -822,7 +822,7 @@ ScreenSaverSetAttributes(ClientPtr client, xScreenSaverSetAttributesReq *stuff) goto bail; } /* over allocate for override redirect */ - pAttr->values = values = xallocarray(len + 1, sizeof(unsigned long)); + pAttr->values = values = calloc(len + 1, sizeof(unsigned long)); if (!values) { ret = BadAlloc; goto bail; diff --git a/Xext/sync.c b/Xext/sync.c index f8fce895f..aa3da6efb 100644 --- a/Xext/sync.c +++ b/Xext/sync.c @@ -650,7 +650,7 @@ SyncAwaitTriggerFired(SyncTrigger * pTrigger) pAwaitUnion = (SyncAwaitUnion *) pAwait->pHeader; numwaits = pAwaitUnion->header.num_waitconditions; - ppAwait = xallocarray(numwaits, sizeof(SyncAwait *)); + ppAwait = calloc(numwaits, sizeof(SyncAwait *)); if (!ppAwait) goto bail; @@ -1546,7 +1546,7 @@ SyncAwaitPrologue(ClientPtr client, int items) /* all the memory for the entire await list is allocated * here in one chunk */ - pAwaitUnion = xallocarray(items + 1, sizeof(SyncAwaitUnion)); + pAwaitUnion = calloc(items + 1, sizeof(SyncAwaitUnion)); if (!pAwaitUnion) return NULL; diff --git a/Xext/vidmode.c b/Xext/vidmode.c index 067326614..3afa9a376 100644 --- a/Xext/vidmode.c +++ b/Xext/vidmode.c @@ -1202,11 +1202,11 @@ ProcVidModeGetMonitor(ClientPtr client) pad_to_int32(rep.modelLength)); rep.nhsync = nHsync; rep.nvsync = nVrefresh; - hsyncdata = xallocarray(nHsync, sizeof(CARD32)); + hsyncdata = calloc(nHsync, sizeof(CARD32)); if (!hsyncdata) { return BadAlloc; } - vsyncdata = xallocarray(nVrefresh, sizeof(CARD32)); + vsyncdata = calloc(nVrefresh, sizeof(CARD32)); if (!vsyncdata) { free(hsyncdata); @@ -1524,7 +1524,7 @@ ProcVidModeGetGammaRamp(ClientPtr client) length = (stuff->size + 1) & ~1; if (stuff->size) { - if (!(ramp = xallocarray(length, 3 * sizeof(CARD16)))) + if (!(ramp = calloc(length, 3 * sizeof(CARD16)))) return BadAlloc; ramplen = length * 3 * sizeof(CARD16); diff --git a/Xext/xcmisc.c b/Xext/xcmisc.c index acbe61421..e42ce1e54 100644 --- a/Xext/xcmisc.c +++ b/Xext/xcmisc.c @@ -101,7 +101,7 @@ ProcXCMiscGetXIDList(ClientPtr client) if (stuff->count > UINT32_MAX / sizeof(XID)) return BadAlloc; - pids = xallocarray(stuff->count, sizeof(XID)); + pids = calloc(stuff->count, sizeof(XID)); if (!pids) { return BadAlloc; } diff --git a/Xext/xf86bigfont.c b/Xext/xf86bigfont.c index 9adc49829..d5e4d22c1 100644 --- a/Xext/xf86bigfont.c +++ b/Xext/xf86bigfont.c @@ -389,7 +389,7 @@ ProcXF86BigfontQueryFont(ClientPtr client) } else { #endif - pCI = xallocarray(nCharInfos, sizeof(xCharInfo)); + pCI = calloc(nCharInfos, sizeof(xCharInfo)); if (!pCI) return BadAlloc; #ifdef MITSHM @@ -451,7 +451,7 @@ ProcXF86BigfontQueryFont(ClientPtr client) if (hashModulus > nCharInfos + 1) hashModulus = nCharInfos + 1; - tmp = xallocarray(4 * nCharInfos + 1, sizeof(CARD16)); + tmp = calloc(4 * nCharInfos + 1, sizeof(CARD16)); if (!tmp) { if (!pDesc) free(pCI); diff --git a/Xext/xres.c b/Xext/xres.c index 97a5b5e0c..61740127d 100644 --- a/Xext/xres.c +++ b/Xext/xres.c @@ -226,7 +226,7 @@ ProcXResQueryClients(ClientPtr client) REQUEST_SIZE_MATCH(xXResQueryClientsReq); - current_clients = xallocarray(currentMaxClients, sizeof(int)); + current_clients = calloc(currentMaxClients, sizeof(int)); num_clients = 0; for (i = 0; i < currentMaxClients; i++) { diff --git a/Xext/xvmain.c b/Xext/xvmain.c index 5fc018cff..c200f82ff 100644 --- a/Xext/xvmain.c +++ b/Xext/xvmain.c @@ -1048,7 +1048,7 @@ XvFillColorKey(DrawablePtr pDraw, CARD32 key, RegionPtr region) (void) ChangeGC(NullClient, gc, GCForeground | GCSubwindowMode, pval); ValidateGC(pDraw, gc); - rects = xallocarray(nbox, sizeof(xRectangle)); + rects = calloc(nbox, sizeof(xRectangle)); if (rects) { for (i = 0; i < nbox; i++, pbox++) { rects[i].x = pbox->x1 - pDraw->x;