Considering there seems to be at least a one memory bug (hm_put/key from another comment), I would strongly recommend running the tests in valgrind or similar if you haven't already. Doing C without it usually ends in some kind of disaster for me.
What kind of disaster? Wouldn't OS security prevent userspace program do destructive things?
What kind of disaster? Wouldn't OS security prevent userspace program do destructive things?