Ok, well after this thread, I thought I'd sorted the overflow crashes by aligning all my textures and memalign()ing everying. However this was not the case, as it still has the occassional unexplained crash, and some pieces of text have inconsistent random characters tacked onto the end (most likely overflow onto the end of a string pointer).
So what I need is a list of all the possible areas that I need to change in order to protect against overflows. For example, aligning unsigned char textures to 16.