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);