Initialise private arrays with calloc, rather than standard malloc.

(Benjamin Herrenschmidt)
This commit is contained in:
Daniel Stone 2005-09-05 07:40:50 +00:00
parent 691669c012
commit 5c5c51fa6d
2 changed files with 8 additions and 6 deletions

View File

@ -398,9 +398,8 @@ CreateColormap (Colormap mid, ScreenPtr pScreen, VisualPtr pVisual,
pmap->devPrivates = NULL; pmap->devPrivates = NULL;
else else
{ {
pmap->devPrivates = (DevUnion *) xalloc ( pmap->devPrivates = (DevUnion *) xcalloc (
colormapPrivateCount * sizeof(DevUnion)); sizeof(DevUnion), colormapPrivateCount);
if (!pmap->devPrivates) if (!pmap->devPrivates)
{ {
FreeResource (mid, RT_NONE); FreeResource (mid, RT_NONE);

View File

@ -347,10 +347,13 @@ AllocateColormapPrivateIndex (InitCmapPrivFunc initPrivFunc)
{ {
privs = (DevUnion *) xrealloc (pColormap->devPrivates, privs = (DevUnion *) xrealloc (pColormap->devPrivates,
colormapPrivateCount * sizeof(DevUnion)); colormapPrivateCount * sizeof(DevUnion));
if (!privs) {
colormapPrivateCount--;
return -1;
}
bzero(&privs[index], sizeof(DevUnion));
pColormap->devPrivates = privs; pColormap->devPrivates = privs;
if (!(*initPrivFunc)(pColormap,index))
if (!privs || !(*initPrivFunc)(pColormap,index))
{ {
colormapPrivateCount--; colormapPrivateCount--;
return -1; return -1;