Typos.
In the function PQueueIndex_new(), if TRI_Allocate() failed to allocate memory for the associative array idx->_aa, idx was freed before idx->_pq.
Fixed typos.
[Small improvements] In the function TRI_InitPQueue(), instead of initializing pq->_base._items with '\0's by using memset(), TRI_Allocate() is called with 'set' set to true (as it is done in the function CheckPQSize()).
In the function CheckPQSize(), the priority queue capacity will be increased only when the new item to be inserted doesn't fit (pq->_base._count + 1 > pq->_base._capacity).
In the function CheckPQSize(), instead of allocating a new buffer and then copying the elements, TRI_Reallocate() is used and the new area is filled with '\0's.
[Small improvements] In the function ResizeAssociativeArray(), array->_table is already initialized to '\0's, so there is no need to call clearElement() for each element.
An associative array is only used by PQIndex and MasterTable_t.
For PQIndex the function ClearElementPQIndex() will be used, which sets the whole element to '\0's.
For MasterTable_t the function tablePositionClearElement() will be used, which sets all but one field to 0/NULL (the only field which is not set is _vectorNum).
If the clearElement() should be called, maybe TRI_Allocate() could be called with false, to avoid double initialization.
When copying elements, the for loop stops when the number of elements is the same as the original number of elements.

In the function TRI_FindByKeyAssociativeArray(), there is no need to check whether the element is not empty and is equal key element, only if it is not empty (as it is done in the function TRI_InsertKeyAssociativeArray()).
In the function TRI_FindByElementAssociativeArray(), there is no need to check whether the element is not empty and is equal element element, only if it is not empty (as it is done in the function TRI_InsertElementAssociativeArray()).