Well . . . it looks like you're double-freeing the data pointer:
pushStack( stack, letter );
...
free( letter );
...
free( stack->top->dataPointer ); //(in destroyStack)
So, I would start by removing the free( letter )
line.
Bob
2010-09-14 19:59:36