if (size >= SIZE_MAX / sizeof(*atomTable))
if (size >= UINT_MAX / sizeof(*atomTable))
HashTableGrows(table)    xpmHashTable *table;{    xpmHashAtom *atomTable = table->atomTable;    unsigned int size = table->size;    xpmHashAtom *t, *p;    int i;    int oldSize = size;    t = atomTable;    HASH_TABLE_GROWS	table->size = size;    table->limit = size / 3;    if (size >= SIZE_MAX / sizeof(*atomTable)) 	return (XpmNoMemory);    atomTable = (xpmHashAtom *) XpmMalloc(size * sizeof(*atomTable));    if (!atomTable)	return (XpmNoMemory);    table->atomTable = atomTable;    for (p = atomTable + size; p > atomTable;)	*--p = NULL;    for (i = 0, p = t; i < oldSize; i++, p++)	if (*p) {	    xpmHashAtom *ps = xpmHashSlot(table, (*p)->name);	    *ps = *p;	}    XpmFree(t);    return (XpmSuccess);}