From e9321ef7825a462a391bd0691fdb60ee8dfbf63d Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Wed, 12 Mar 2025 16:45:22 +0100 Subject: [PATCH] dix: use calloc() in _dixAllocateScreenObjectWithPrivates() We're clearing the whole object size anyways, so we can directly use calloc() instead of malloc() plus memset(). Signed-off-by: Enrico Weigelt, metux IT consult --- dix/privates.c | 4 +--- include/privates.h | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/dix/privates.c b/dix/privates.c index 62309d769..14ff91143 100644 --- a/dix/privates.c +++ b/dix/privates.c @@ -687,7 +687,6 @@ _dixInitScreenPrivates(ScreenPtr pScreen, PrivatePtr *privates, void *addr, DevP void * _dixAllocateScreenObjectWithPrivates(ScreenPtr pScreen, unsigned baseSize, - unsigned clear, unsigned offset, DevPrivateType type) { @@ -708,11 +707,10 @@ _dixAllocateScreenObjectWithPrivates(ScreenPtr pScreen, /* round up so that pointer is aligned */ baseSize = (baseSize + sizeof(void *) - 1) & ~(sizeof(void *) - 1); totalSize = baseSize + privates_size; - object = malloc(totalSize); + object = calloc(1, totalSize); if (!object) return NULL; - memset(object, '\0', clear); privates = (PrivatePtr) (((char *) object) + baseSize); devPrivates = (PrivatePtr *) ((char *) object + offset); diff --git a/include/privates.h b/include/privates.h index 6e1cfa02e..394e3d685 100644 --- a/include/privates.h +++ b/include/privates.h @@ -258,11 +258,10 @@ Bool dixPrivatesCreated(DevPrivateType type); extern _X_EXPORT void * _dixAllocateScreenObjectWithPrivates(ScreenPtr pScreen, unsigned size, - unsigned clear, unsigned offset, DevPrivateType type); -#define dixAllocateScreenObjectWithPrivates(s, t, type) _dixAllocateScreenObjectWithPrivates(s, sizeof(t), sizeof(t), offsetof(t, devPrivates), type) +#define dixAllocateScreenObjectWithPrivates(s, t, type) _dixAllocateScreenObjectWithPrivates(s, sizeof(t), offsetof(t, devPrivates), type) extern _X_EXPORT int dixScreenSpecificPrivatesSize(ScreenPtr pScreen, DevPrivateType type);