diff options
Diffstat (limited to 'open-vm-tools/lib/misc/hashTable.c')
-rw-r--r-- | open-vm-tools/lib/misc/hashTable.c | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/open-vm-tools/lib/misc/hashTable.c b/open-vm-tools/lib/misc/hashTable.c index a0abfee6..7a18bb99 100644 --- a/open-vm-tools/lib/misc/hashTable.c +++ b/open-vm-tools/lib/misc/hashTable.c @@ -94,10 +94,6 @@ struct HashTable { * Local functions */ -static HashTableEntry *HashTableLookup(HashTable *ht, - const void *keyStr, - uint32 hash); - HashTableEntry *HashTableLookupOrInsert(HashTable *ht, const void *keyStr, void *clientData); @@ -243,7 +239,6 @@ HashTable_Alloc(uint32 numEntries, // IN: must be a power of 2 (keyType & HASH_TYPE_MASK) == HASH_ISTRING_KEY)); ht = Util_SafeMalloc(sizeof *ht); - VERIFY(ht); ht->numBits = lssb32_0(numEntries); ht->numEntries = numEntries; @@ -379,13 +374,14 @@ HashTable_Clear(HashTable *ht) // IN/OUT: void HashTable_Free(HashTable *ht) // IN/OUT: { - ASSERT(ht); - ASSERT(!ht->atomic); + if (ht != NULL) { + ASSERT(!ht->atomic); - HashTableClearInternal(ht); + HashTableClearInternal(ht); - free(ht->buckets); - free(ht); + free(ht->buckets); + free(ht); + } } @@ -410,12 +406,12 @@ HashTable_Free(HashTable *ht) // IN/OUT: void HashTable_FreeUnsafe(HashTable *ht) // IN/OUT: { - ASSERT(ht); - - HashTableClearInternal(ht); + if (ht != NULL) { + HashTableClearInternal(ht); - free(ht->buckets); - free(ht); + free(ht->buckets); + free(ht); + } } @@ -474,7 +470,7 @@ HashTableLookup(HashTable *ht, // IN: Bool HashTable_Lookup(HashTable *ht, // IN: const void *keyStr, // IN: - void **clientData) // OUT: + void **clientData) // OUT/OPT: { uint32 hash = HashTableComputeHash(ht, keyStr); HashTableEntry *entry = HashTableLookup(ht, keyStr, hash); @@ -595,7 +591,7 @@ HashTable_LookupAndDelete(HashTable *ht, // IN/OUT: the hash table Bool HashTable_Insert(HashTable *ht, // IN/OUT: const void *keyStr, // IN: - void *clientData) // IN: + void *clientData) // IN/OPT: { return HashTableLookupOrInsert(ht, keyStr, clientData) == NULL; } @@ -705,8 +701,8 @@ HashTable_ReplaceOrInsert(HashTable *ht, // IN/OUT: Bool HashTable_ReplaceIfEqual(HashTable *ht, // IN/OUT: const void *keyStr, // IN: - void *oldClientData, // IN: - void *newClientData) // IN: + void *oldClientData, // IN/OPT: + void *newClientData) // IN/OPT: { uint32 hash = HashTableComputeHash(ht, keyStr); HashTableEntry *entry = HashTableLookup(ht, keyStr, hash); @@ -760,7 +756,7 @@ HashTable_ReplaceIfEqual(HashTable *ht, // IN/OUT: HashTableEntry * HashTableLookupOrInsert(HashTable *ht, // IN/OUT: const void *keyStr, // IN: - void *clientData) // IN: + void *clientData) // IN/OPT: { uint32 hash = HashTableComputeHash(ht, keyStr); HashTableEntry *entry = NULL; |